Блог пользователя goo.gl_SsAhv

Автор goo.gl_SsAhv, 13 лет назад, По-русски


Одному очень хорошему человеку требуется написать задание для зачета, которое проверит автоматическая проверяющая система.

задание банальное, тупо дейкстра, но тесты кривые, есть идеи КАК нужно написать программу, чтобы вывод совпал с сэмплом?


В графстве Алгоритмия построено несколько городов. Между некоторыми городами проложены дороги.

Стоимость проезда по разным дорогам разная. Известный путешественник Эдсгер Дейкстра стоит в городе X.

Он хочет узнать какое минимальное количество местных денежков придётся потратить, чтобы доехать из города X

до любого другого города.

Формат входных данных
В первой строке дано имя города, где находится Эдсгер Дейкстра (город X).
Во второй строке дано число N - количество городов в графстве
В последующих N строках описано с какими городами связан дорогами каждый из N городов графства. Каждая такая строка имеет вид:
Gi CNTi N1 S1 N2 S2 ... N CNTi SCNTi где
Gi - город, для которого даны имена городов, связанных с ним дорогами
CNTi - количество таких [соседних] городов
N1, N2, .. - их имена
S1, S2, .. - соответственно стоимость проезда по дороге из города Gi в эти города

Формат выходных данных
В единственной строке выходного файла должно быть перечислено через пробел N пар вида город стоимость_проезда_до_него. Города в строке должны быть отсортированы в порядке возрастания. Если до какого-то города нет возможности доехать, то вместо стоимости вывести inf

[input]

saratov
4
tomsk 2 saratov 5 perm 7
omsk 2 saratov 4 perm 1
saratov 3 tomsk 5 perm 12 omsk 4
perm 3 tomsk 7 saratov 12 omsk 1

[output]

tomsk 5 omsk 4 perm 5 saratov 0


50 тестов, нормальное решение проходит 0 из низ, если вывести строку "tomsk 5 omsk 4 perm 5 saratov 0",

то первый тест проходится и мы имеем 2% 

  • Проголосовать: нравится
  • +5
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Могу предположить, что нельзя выводить пробел после последнего города.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    нет, дело в том что в сэмпл аутпуте города как-то непонятно перемешаны.

    а по условию их следует отсортировать. пробел неважен, проверял.

    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Может следует отсортить так - сначала все города как они идут в сэмпле, а последний город, где Дейкстра?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
вопрос в том по какому принципу аффтар, мать его, перемешал города
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Раз уж она такая непобедимая, то надо перебирать ответ.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    перестановок то дофига, непоперебираешь особо.

    лучше посоветуйте как так можно написать, чтобы в таком порядке вывелось

13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Несколько дурацких предположений.
1) По возрастанию реверснутой строки.
2) По возрастанию-убыванию какого-нибудь хеша.
3) По расположению с востока на запад (проверено википедией)
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
По населению не подходит, проверял.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А любой другой output кроме данного вызывает WA#1?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ещё варианты: по порядку нахождения ответа, по количеству рёбер в лучшем пути о_0
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Блин, задача прям из теста IQ :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Надо зазывать людей, что поняли задачу с фейсбука про падающие шары с первого раза.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Может находим минимальный остов, пускаем DFS, и выводим города в порядке вхождения в них (кроме первого). Начальный город выводим в конце.
13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится
Еще одна догадка. Спросить у преподавателя, что в его понимании означают слова "по возрастанию"
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
может проще ломануть тестирующую систему?
13 лет назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится
Может, порядок букв в алфавите = qwerty..... ? :D
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Кстати под семпл подходит:)
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится
      Ну я поэтому и написал :)

      Скажите, сколько мое решение набирает?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        скажу, до ещё 1.5 часа можно сабмитить
        • 13 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится

          лучше вот этот код редактируй, чтобы потом от препода вопросов много небыло

          http://www.everfall.com/paste/id.php?m9mztalm1y1w

          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Тут проблема: я толком не знаю, как на C++ писать.
13 лет назад, # |
  Проголосовать: нравится -12 Проголосовать: не нравится
Неплохая задача для марафона кстати.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Для марафона как раз не очень.. а вот для битвы экстрасенсов в самый раз
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
оффтоп: "Весь мир -- театр, Россия -- цирк"
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Стыдно, что название моего города фигурирует в этом безобразии.
Просьба к Саше Прудаеву - попросить преподавателя не включать название города, где я живу в кривые тесты или условия :) Блин... он еще и с маленькой буквы...
Я проверил всякие операции с кодами символов, все бесполезно. Тут, по всей видимости, брутальный рандом.
13 лет назад, # |
Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится
Мб названия городов лексикографически сортируются?
UPD: неверно.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Может быть сортировка не по кодам символов, а по скан-кодам клавиш? Тогда действительно t-o-p-s.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Может имеет смысл не пытаться сломать мозг себе и другим, а обратиться к преподавателю и объяснить ему, что он не прав
PS: если, конечно, этот препод не Бриков - Alias поймет)