比赛时,读了 最少五遍还是不懂....
题目:给你三个硬币,抛足够多次,u1,d1,u2,d2,u3,d3,分别代表三个硬币正面和反面朝上和朝下的概率,u1-d2>0,=0,<0,a分别为1,0,-1;类似有b和c对应第二个硬币和第三个硬币,只有1,-1同时出现或者0 0 0的状态下 ,输出Yes 否则No
从反面考虑,1 ,1,1或者- 1,-1,-1或者0 0 1 或者0 0 -1或者0 1 1或者0 - 1 -1是输出No
#include<iostream> #include<cstdio> using namespace std; int main() { int t; scanf("%d",&t); for(int k=1;k<=t;k++) { int u1,d1,u2,d2,u3,d3; scanf("%d %d %d %d %d %d",&u1,&d1,&u2,&d2,&u3,&d3); int a=0,b=0,c=0; if(u1<d1) a=-1; else if(u1>d1) a=1; if(u2<d2) b=-1; else if(u2>d2) b=1; if(u3<d3) c=-1; else if(u3>d3) c=1; if( ((a+b+c)==3)||((a+b+c)==-3)||((a*b*c==0)&&((a+b+c==1)||(a+b+c==-1)))||(a+b+c==2)||(a+b+c)==-2) printf("Case %d: No\n",k); else printf("Case %d: Yes\n",k); } system("pause"); return 0; }