cin.syn c () выдаёт разные выводы на разных IDE - PullRequest
0 голосов
/ 27 марта 2020

Я использовал cin.sync() в своем коде, и теперь он дает разные выходы в разных IDE.

ll n, k;
cin >> n >> k;
string s(n, 'a');
cin.sync();
double d = 1 + 8*k;
double p =(1.0+(float)sqrt(d))/2.0;
ll f = ceil(p);
ll res = f-1;
res = res*(res-1);
res = res/2;
res=res+1;
ll pr = k-res;
s[n-f]='b';
s[n-1-pr]='b';
cout << s << endl;

В IDE codeforces он дает ОДИН И ТО ЖЕ ВЫХОД, первый правильный ответ, для всех СЛУЧАЙ ИСПЫТАНИЙ .

Скажем, решение первого контрольного примера - «abbaa», оно будет печатать то же самое и для остальных контрольных примеров.

Но в IDE-кодефе это дает РАЗНЫЙ ВЫХОД для всех СЛУЧАИ ИСПЫТАНИЯ. (правильные ответы для всех тестовых случаев)

Как только я удалил cin.sync(), обе среды IDE показали одинаковые правильные ответы.

Почему это так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...