10 июля в 20:00 MSD состоится третий отборочный раунд TopCoder Open. Всем удачи
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Название |
---|
Отсюда урок - сдаешь задачу на топкодере, проверь на восмерке :о)
Если кто-то телепортируется, то всегда будет один кто сделает это первым (по условию нельзя
в один момент времени телепортироваться более чем одному человеку).
Отсюда следуют две вещи: во-первых, никто не сможет телепортироваться на его место
и, во-вторых, используя его, все остальные (включая и его самого) смогут телепортироваться куда им
наиболее выгодно. Понятно, что телепортироваться имеет смысл только из своего начала в чье-то
другое начало. Отсюда решение: перебираем этого первого, ну и считаем ответ.
Не понимаю :(
А если у нас будет 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 из-за второго цикла...
Или я жёстко туплю :)