트랙터 경로
시간 제한4초메모리 제한1024 MB
구간 N개가 주어질 때, 두 트랙터 a, b 사이 최단 경로의 길이와 그 최단 경로 위에 놓인 특수 트랙터의 개수를 구합니다.
문제
Farmer John에게는 트랙터가 대 () 있다. 번째 트랙터는 닫힌 구간 안에서만 사용할 수 있다. 왼쪽 끝점은 순으로 주어지고, 오른쪽 끝점은 순으로 주어진다. 트랙터 중 일부는 특별하다. 두 트랙터 와 의 구간 와 가 겹치면 두 트랙터는 인접한다고 한다. Farmer John은 한 트랙터에서 인접한 트랙터 중 아무 것으로나 옮겨 탈 수 있다. 트랙터 에서 까지의 경로는 에서 시작해 에서 끝나며, 연속한 두 트랙터가 모두 인접하는 환승의 나열이다. 트랙터 1에서 트랙터 까지 가는 경로가 존재함이 보장된다. 경로의 길이는 환승 횟수이며, 경로에 포함된 트랙터 수에서 1을 뺀 값과 같다. 개 ()의 질의가 주어진다. 각 질의는 트랙터 한 쌍 , ()를 지정한다.
입력
첫 줄에 과 가 주어진다. 다음 줄에는 정렬된 순서대로 왼쪽 끝점과 오른쪽 끝점을 나타내는 길이 의 L과 R 문자열이 주어진다. 이 문자열의 모든 진접두사에서 L의 개수가 R의 개수보다 많다는 것이 보장된다. 그다음 줄에는 길이 의 비트 문자열이 주어지며, 각 트랙터가 특별한지 여부를 나타낸다. 이어서 개의 줄에 각각 질의를 나타내는 두 정수 , 가 주어진다.
출력
각 질의마다 공백으로 구분한 두 정수를 출력한다. 첫 번째 값은 트랙터 에서 까지 가는 최단 경로 중 아무 것의 길이다. 두 번째 값은 트랙터 에서 까지의 최단 경로 중 하나 이상이 지나는 특별한 트랙터의 개수다.
힌트
트랙터 구간은 순서대로 , , , , , , , 이다. 네 번째 질의에서 트랙터 1에서 5까지의 최단 경로는 세 개다. 1에서 2를 거쳐 5로 가는 경로, 1에서 3을 거쳐 5로 가는 경로, 1에서 4를 거쳐 5로 가는 경로이며, 모두 길이는 2다. 트랙터 1, 2, 3, 4, 5는 모두 이 세 최단 경로 중 하나에 속한다. 트랙터 1, 2, 4, 5가 특별하므로, 트랙터 1에서 5까지의 최단 경로 중 하나 이상에 속하는 특별한 트랙터는 4개다.