10 июля в 20:00 MSD состоится третий отборочный раунд TopCoder Open. Всем удачи
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
Название |
---|
Отсюда урок - сдаешь задачу на топкодере, проверь на восмерке :о)
Если кто-то телепортируется, то всегда будет один кто сделает это первым (по условию нельзя
в один момент времени телепортироваться более чем одному человеку).
Отсюда следуют две вещи: во-первых, никто не сможет телепортироваться на его место
и, во-вторых, используя его, все остальные (включая и его самого) смогут телепортироваться куда им
наиболее выгодно. Понятно, что телепортироваться имеет смысл только из своего начала в чье-то
другое начало. Отсюда решение: перебираем этого первого, ну и считаем ответ.
Не понимаю :(
А если у нас будет 2 цикла? Разве всегда все люди могут пойти куда им хочется?
Ну вот такой тест:
первый чел в (0,0), хочет в (0,1)
второй в (0,1), хочет в (2,0)
третий в (2,0), хочет в (0,0)
четвертый в (5,0), хочет в (5,3)
пятый в (5,3), хочет в (8,0)
шестой в (8,0), хочет в (5,0)
Если рассуждать, что все, кроме одного выбранного человека могут телепортироваться куда хотят, то второй цикл даст 0 к ответу (каждый телепортируется куда хочет, и всё), а в первом цикле оптимально пустить первого человека пешком, а остальных телепортировать. Итого получится ответ 1, хотя казалось бы, ответ должен быть 3 из-за второго цикла...
Или я жёстко туплю :)