网站界面优化,不是营销型的网站,免费网站建设联系电话,徐州模板网站cf1553C. Penalty
题意#xff1a;
有十轮点球#xff0c;两个队伍轮流进行#xff0c;1表示进#xff0c;0表示不进#xff0c;#xff1f;表示未知#xff0c;如果比赛没有了悬念将直接结束。现在让你预测一个情况#xff0c;使得进行的轮数最少。裁判在决定停止点…cf1553C. Penalty
题意
有十轮点球两个队伍轮流进行1表示进0表示不进表示未知如果比赛没有了悬念将直接结束。现在让你预测一个情况使得进行的轮数最少。裁判在决定停止点球阶段时没有考虑任何预测-你可能知道一些点球将会/不会得分但裁判没有。
题解
当时我第一反应最佳情况就是一方的全是进球另一方全没进球为什么这样因为要求比赛尽快结束为了让比赛没有悬念我们就要尽可能拉大比分已有的0和1已经确定了进球情况而还是未知所以我们将两侧取相反这样就保证极端情况
代码
#include bits/stdc.husing namespace std;int main() {int t;cin t;while (t--) {string s;cin s;int ans 9;int cnt0 0, cnt1 0;for (int i 0; i 10; i) {if (i % 2 0) cnt0 s[i] ! 0;else cnt1 s[i] 1; /*(10 - i) / 2表示如果第二个队后面的点球全进(9 - i ) / 2表示如果第一个队后面的点球全进 */if (cnt0 cnt1 (10 - i) / 2) ans min(ans, i);if (cnt1 cnt0 (9 - i) / 2) ans min(ans, i);}cnt0 0, cnt1 0;for (int i 0; i 10; i) {if (i % 2 0) cnt0 s[i] 1;else cnt1 s[i] ! 0; if (cnt0 cnt1 (10 - i) / 2) ans min(ans, i);if (cnt1 cnt0 (9 - i) / 2) ans min(ans, i);}cout ans 1 endl;}
}