문제1440--유전자 알고리즘

1440: 유전자 알고리즘

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

문제 설명

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




입력 설명

첫 줄에 16비트의 0, 1로 이루어진 유전자열을 의미하는 값이 부호없는 10진수 형태로 2개 주어진다.(unsigned short int 범위의 값)
그 다음 줄에 자를 위치의 값 n이 하나 주어진다.(1 <= n <= 15)

출력 설명

유전자가 교환된 2개의 2진수 비트열 a, b의 값을 부호없는 10진수 형식으로 한 줄에 각각 출력한다.

입력 예시 Copy

43479 11181
5

출력 예시 Copy

43949 10711

출처/분류