ШАШКА

면접 대비

시간 제한2초메모리 제한1024 MB

요약
n명의 선수에 대해 m번의 경기마다 Elo 레이팅을 갱신하고 소수점은 내림한 뒤 0 미만이면 0으로 만든다. 마지막에 레이팅 내림차순, 동률이면 이름 오름차순으로 출력한다.
난이도

쉬움10점 중 3점

유형
구현, 시뮬레이션, 정렬, 수학
정답자
아직 제출이 없습니다

문제

Петр является главным по подсчету рейтингов в Шахматной Ассоциации Шахматистов Конгломерата Антарктики (ШАШКА).

В ассоциации используется рейтинг Эло. Рейтинг --- это неотрицательное целое число. После каждой партии рейтинг пересчитывается по следующим правилам: R_A′=R_A+15⋅(S_A−E_A)R\_A' = R\_A + 15 \cdot (S\_A - E\_A) E_A=11+10R_B−R_A400E\_A = \frac{1}{1 + 10^{\frac{R\_B - R\_A}{400}}} Здесь R_AR\_A и R_BR\_B --- рейтинги игроков AA и BB, участвующих в партии, до ее начала, S_AS\_A --- количество очков, набранных игроком AA в партии (00 очков за проигрыш, 0,50,5 --- за ничью и 11 за победу), R_A′R\_A' --- новый рейтинг игрока AA. При этом рейтинг округляется вниз до ближайшего целого числа. Если рейтинг стал меньше нуля, то он становится равным нулю.

Всего ШАШКА насчитывает nn игроков. Недавно в ассоциации состоялся турнир, в котором было сыграно mm партий. Петр не справился с подсчетом новых рейтингов, поэтому он просит Вас помочь ему.

입력

В первой строке входного файла находится одно целое число nn (2≤n≤10002 \le n \le 1000). Далее следует nn строк, описывающих шахматистов. Каждая строка содержит неотрицательное целое число r_ir\_i (r_i≤4000r\_i \le 4000) --- рейтинг ii-го игрока до начала турнира, а также фамилию игрока. Рейтинг и фамилия разделены одним пробелом. Фамилия состоит из заглавных и строчных латинских букв, и ее длина не превышает 5050. Фамилии всех игроков непусты и различны.

Далее в отдельной строке следует целое число mm (0≤m≤10000 \le m \le 1000) --- количество сыгранных матчей. Затем следует mm строк, в каждой из которых содержатся фамилии первого и второго игроков партии, а затем целое число xx: x=1x = 1 означает, что выиграл первый игрок, x=2x = 2 --- второй, x=0x = 0 --- ничья.

Гарантируется, что фамилии различны и игроки с указанными фамилиями состоят в ШАШКА. Партии заданы в том порядке, в котором они были сыграны.

출력

В выходной файл выведите игроков в порядке уменьшения рейтинга. В случае равенства рейтингов раньше должен идти игрок, фамилия которого лексикографически меньше. Следуйте формату входного файла.

예제3

  1. 예제 1

    입력
    4
    3040 John
    3030 Jon
    3020 Juan
    3010 Ivan
    3
    Ivan John 1
    Jon Ivan 2
    Ivan Juan 1
    
    예상 출력
    3032 Ivan
    3031 John
    3022 Jon
    3012 Juan
    
  2. 예제 2

    입력
    4
    3040 John
    3030 Jon
    3020 Juan
    3010 Ivan
    3
    Ivan Juan 1
    Jon Ivan 2
    Ivan John 1
    
    예상 출력
    3032 John
    3031 Ivan
    3022 Jon
    3012 Juan
    
  3. 예제 3

    입력
    4
    3011 John
    2995 Jon
    3004 Juan
    3002 Ivan
    3
    Ivan Juan 2
    Jon Ivan 0
    Ivan John 0
    
    예상 출력
    3011 Juan
    3010 John
    2994 Ivan
    2994 Jon