Logo
(追記) (追記ここまで)

31279번 - САМОЛЕТИ 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB68332547.170%

문제

Границата на държавата Олимпия представлява окръжност, по която на равни разстояния (по окръжността) едно от друго са разположение 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

예제 입력 1

4 1 2 3

예제 출력 1

9 15 4 3

힌트

За всеки тестов пример ще получите 2 точки за правилно разстояние, което е прелетял самолет 1; 2 точки за правилно разстояние, което е прелетял самолет 2; 3 точки за правилен брой на засичанията; 3 точки за правилен брой на разминаванията.

출처

Olympiad > International Autumn Tournament in Informatics > 2010 > Group D 3번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /