데이터 전송
시간 제한2초메모리 제한1024 MB
두 이진 문자열 s와 t가 같거나 인접한 두 비트를 한 번 바꾼 결과인지 판별합니다.
문제
데이터는 송신기에서 수신기로 통신 채널을 거쳐 비트열 형태로 전달된다. 채널은 전송 중에 비트열을 왜곡할 수 있으므로, 수신기가 받은 비트열 는 송신기가 보낸 비트열 와 다를 수 있다. 왜곡 유형 중 하나는 인접한 두 비트를 맞바꾸는 것이다. 이 경우 와 는 인접한 두 위치 와 에서만 정확히 다르며, 이고 이다. 와 을 제외한 모든 에 대해서는 이다.
당신은 정보 전송을 연구하는 연구자이다. 중요한 정부 통신 채널을 위한 부호화 방식을 설계하고 있으며, 이 부호는 인접 비트 맞바꿈 한 번을 정정할 수 있어야 한다. 채널의 신뢰도를 평가하기 위해 다음과 같이 시험한다. 비트열 을 여러 개 보내고, 수신기가 받은 을 저장한 뒤 보낸 것과 비교한다. 왜곡 없이 도착했거나 인접 비트 맞바꿈이 한 번만 일어난 비트열의 비율로 채널의 신뢰도를 판단한다.
비트열이 길어서 손으로 비교하면 시간이 너무 많이 든다. 두 비트열 와 가 주어졌을 때, 인접한 기호의 맞바꿈을 최대 한 번 수행하여 로부터 를 얻을 수 있는지 판별하는 프로그램을 작성하라.
입력
첫 번째 줄에는 비트열 가, 두 번째 줄에는 비트열 가 주어진다. 두 비트열은 비어 있지 않으며, 0과 1로만 이루어지고, 길이는 각각 100000 이하이다.
출력
위의 방식으로 로부터 를 얻을 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.