문제1444--유전자 알고리즘 #2

1444: 유전자 알고리즘 #2

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 21  통과: 13
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

인공지능에서 유전자 알고리즘의 주요 처리 과정 중 하나는 2개의 유전자를 특정 구간을 잘라 교환하는 것이다.
아래의 그림에서 (1) 부분과 같이  p1 유전자와 p2 유전자가 주어지고, 자를 위치가 n1, n2 값으로 주어질 경우 (2)의 그림 부분처럼 각 유전자의 n1, n2 구간의 부분을 잘라 서로 교환한 유전자가 만들어진다고 할 때, 새롭게 만들어진 유전자 c1, c2의 값을 출력하는 프로그램을 작성해 보자. 



입력 설명

첫 줄에 테스트케이스의 수 t가 입력된다.(1 <= t <= 10)
그 다음 줄부터 0,1로 이루어진 유전자열 p1, p2가 2줄에 각각 주어진다.(유전자열의 최대 길이는 100을 넘지 않는다)
그 다음 줄에는 자를 위치 n1, n2의 값이 정수로 주어진다.(0 <= n1 < n2 <= 유전자의길이)

출력 설명

각 테스트케이스 별로 n1~n2 구간 부분이 교환된 유전자열을 공백 하나로 구분하여 c1, c2 순으로 한 줄씩 출력한다.

입력 예시 Copy

2
1010100111010111
0010101110101101
5 12
10101001110101111111100010100000
00101011101011011010100111010111
7 18

출력 예시 Copy

1010101110100111 0010100111011101
10101001101011011011100010100000 00101011110101111110100111010111

출처/분류