P1042 乒乓球
P1042 乒乓球
题解
解释一下这是什么神仙新规则:
11分制:两个人打呀打,谁先打到 分数>=11分 并且 两人的分数差>=2 结束一轮比赛
21分制:两个人打呀打,谁先打到 分数>=21分 并且 两人的分数差>=2 结束一轮比赛
然后就会出现一个神奇的样例,答案是:
这是神马操作???
反正算上就是了QWQ
代码
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> #include<queue> using namespace std; inline int read() { char c; do { c=getchar(); }while(c=='\n'||c==' '||c=='\t'||c=='\0'); } char ch; int a1=0,b1=0,a2=0,b2=0; int t1[5700][2],t1num=0,t2[3000][2],t2num=0; int main() { while(ch=read()) { if(ch=='E') break; if(ch=='W') a1++,a2++; if(ch=='L') b1++,b2++; if((a1>=11||b1>=11)&&(abs(a1-b1)>=2)) { t1[++t1num][0]=a1; t1[t1num][1]=b1; a1=b1=0; } if((a2>=21||b2>=21)&&(abs(a2-b2)>=2)) { t2[++t2num][0]=a2; t2[t2num][1]=b2; a2=b2=0; } } t1[++t1num][0]=a1;t1[t1num][1]=b1; t2[++t2num][0]=a2;t2[t2num][1]=b2; for(int i=1;i<=t1num;i++) printf("%d:%d\n",t1[i][0],t1[i][1]); printf("\n"); for(int i=1;i<=t2num;i++) printf("%d:%d\n",t2[i][0],t2[i][1]); return 0; }
像我这样的OIer因为无法适应新规则只能选择放弃QWQ