유효 감염 시간
시간 제한2초메모리 제한128 MB
각 구역의 감염 월과 타격 월이 주어질 때 첫해 반 가중치 규칙에 따라 유효 감염 시간을 계산해 소수점 넷째 자리까지 출력합니다.
문제
격리 구역의 위협도를 평가하고 있다. 위협도를 결정하는 주요 변수 중 하나가 EIT(Effective Infection Time), 곧 유효 감염 시간이다. 격리 구역을 되찾을 타격 날짜를 계획하려면 이 값이 필요하다. EIT는 다음 규칙으로 계산한다.
- EIT는 감염 날짜와 타격 날짜, 두 날짜의 함수다.
- 모든 연도는 A.Z.(After Zombie) 기준이다.
- 각 달은 마지막 날이 지나야 EIT의 일부로 계산된다. 따라서 타격 날짜가 속한 달은 EIT에 포함되지 않는다.
- 감염이 시작된 첫 해는 EIT로 계산한다.
- 그 해의 끝에 도달하지 못했다면 각 달은 EIT를 나눈 몫만큼만 계산한다. 첫 해 1월에 감염된 구역이라면 EIT가 12개월에 나뉘어 한 달이 EIT다. 첫 해 3월에 감염됐다면 EIT가 10개월에 나뉘어 한 달이 EIT다.
- 그 해의 끝에 도달했다면 감염된 달과 상관없이 그 해 전체가 EIT다. 즉 15 A.Z. 2월에 감염된 구역은 15 A.Z. 12월이 지난 시점에 정확히 EIT이고, 같은 해 12월에 감염된 구역도 EIT다.
- 그 다음 해부터는 한 해가 EIT다. 1월부터 각 달이 EIT를 차지한다.
- 같은 달에 감염된 구역은 타격 날짜가 같으면 EIT도 같다. 그래서 입력에는 달과 해만 주어진다.
한 해의 달 개수와 순서는 지금 쓰는 그레고리력과 같다.
입력
첫 줄에 구역의 개수 이 주어진다 (). 이어서 구역마다 두 줄이 주어진다.
- 첫 줄은 감염 날짜, 둘째 줄은 타격 날짜다.
- 날짜의 첫 번째 정수는 달 (), 두 번째 정수는 해 ()다. 해는 항상 네 자리로 주어진다.
- 타격 날짜가 감염 날짜보다 앞서는 경우는 없다.
출력
구역마다 EIT를 한 줄에 하나씩 출력한다. EIT는 소수점 넷째 자리까지 반올림하고, 일의 자리가 이어도 반드시 적는다.