В 372 раунде у меня упало решение по задаче B http://mirror.codeforces.com/contest/716/problem/B Упало на 89 тесте из-за того что выводил ? в одном месте, хотя у меня была следующая проверка:
if (s[i]=='?')
cout << "A";
else
cout << s[i];
Заменил эту проверку на
if (s[i]>='A' && s[i]<='Z')
cout << s[i];
else
cout << "A";
и решение прошло. Кто нибудь может объяснить почему это так работает?
http://mirror.codeforces.com/contest/716/submission/20701017 — WA89
http://mirror.codeforces.com/contest/716/submission/20733300 — AC
Не перестаю удивляться упоротым различиям в работе разных компиляторов — на MSVC++ код выдает AC 20737100
Может это из-за того, что в первом случае у тебя цикл по i внутри цикла по i, а во втором случае ты его переписал на j. Хотя я не представляю, кто вообще позволил ему такое компилировать.
Проблема не в этом, а именно в нераспознавании '?'. http://mirror.codeforces.com/contest/716/submission/20752811 вот этот же код AC на MS c++, Теперь еще больше вопросов почему не всегда распознавание идет