САМОЛЕТИ
시간 제한1초메모리 제한1024 MB
N개의 공항을 일정 간격으로 건너뛰며 시계 방향과 반시계 방향으로 도는 두 비행기의 이동 거리, 만남 횟수, 교차 횟수를 구한다.
문제
Границата на държавата Олимпия представлява окръжност, по която на равни разстояния (по окръжността) едно от друго са разположение N летища. Разстоянието по окръжността между две съседни летища е d (цяло, положително число). По границата патрулират два самолета (да ги наречем самолет 1 и самолет 2). Всеки самолет трябва да обиколи точно по един път всички N летища,като се спазват следните правила:
- Излитайки от някакво летище, самолет 1 трябва да лети по посока на часовниковата стрелка точно по границата, прелитайки, без да каца, над ap1 на брой летища и след това да кацне на първото летище, на което все още не е кацал. След това отново излита, спазвайки същите правила, и така, докато обиколи всички N летища.
- Излитайки от някакво летище, самолет 2 трябва да лети по посока, обратна на часовниковата стрелка, точно по границата, прелитайки, без да каца, над ap2 на брой летища и след това да кацне на първото летище, на което все още не е кацал. След това отново излита, спазвайки същите правила, и така, докато обиколи всички N летища.
- Първоначално и двата самолета се намират на едно и също летище, от което започват първите си полети (смята се, че това летище и двата самолета вече са посетили). Накрая всеки остава на летището, което е посетил последно.
- Полетите на самолетите се редуват – първо лети (докато кацне) самолет 1, след това излита самолет 2, след неговото кацане отново излита самолет 1 и т.н. докато всеки от двата самолета посети всичките N летища.
Напишете програма planes, която отговаря на следните въпроси:
- Какво разстояние е изминал всеки от самолетите докато обиколи всичките N летища?
- Колко пъти се е случило на едно и също летище, в един и същи момент, да се окажат и двата самолета (ще казваме, че в този случай те се засичат)? За засичане се брои и това, че първоначално двата са били на едно и също летище.
- Колко пъти се е случило двата самолета да се разминат? (за разминаване се смята ситуацията, в която единият самолет прелита над летище, на което в този момент е кацнал другият; не се брои за разминаване случаят, при който двата се засичат на някое летище).
입력
От един ред на стандартния вход се въвеждат целите числа N, d, ap1 и ap2.
출력
На един ред на стандартния изход трябва да изведете, разделени с по един интервал, четири цели числа (в този ред): разстоянието, изминато от самолет 1; разстоянието, изминато от самолет 2; броя засичания на двата самолета; броя разминавания на двата самолета.
제한
- 2 ≤ N ≤ 1 000
- 1 ≤ d ≤ 100
- 0 ≤ ap1 < N
- 0 ≤ ap2 < N
힌트
За всеки тестов пример ще получите 2 точки за правилно разстояние, което е прелетял самолет 1; 2 точки за правилно разстояние, което е прелетял самолет 2; 3 точки за правилен брой на засичанията; 3 точки за правилен брой на разминаванията.