我个人认为应该是对的;;求大佬萌看看哪里不对呀;;快崩溃了
我的区分情况有:3*4+2||2*7||4*1+2*5||4*2+2*3||4*3+2*1||缺门
我感觉应该能过,但是case通过率只有0.25;;
求大佬看一看哪里错了。。哭QAQ
#include<stdio.h> #include<algorithm> using namespace std; char ch[15][2]; int cnt[1010]; bool cmp(int x,int y){ if(x>y) return true; else return false; } int main(){ int n; char c; int x,y; int cntt=0; while(scanf("%d",&n)!=EOF){ getchar(); scanf("%c",&c); getchar();//ch[0][1] for(int i=0;i<n;i++){ scanf("%s",ch); for(int j=0;j<14;j++){ if(ch[j][1]==c) { printf("No\n"); cntt=1; break; } } if(cntt!=1){ for(int j=0;j<14;j++) for(int k=0;k<14;k++){ x=ch[j][1]-50; y=ch[j][0]-'0'; if(ch[j][0]==ch[k][0]&&ch[j][1]==ch[k][1]) cnt[x*y]++; } sort(cnt,cnt+1010,cmp); if(cnt[0]==cnt[1]&&cnt[1]==cnt[2]&&cnt[2]==cnt[3]&&cnt[3]==9&&cnt[4]==4) printf("Yes\n"); else if(cnt[0]=cnt[1]&&cnt[1]==cnt[2]&&cnt[2]==cnt[3]&&cnt[3]==cnt[4]&&cnt[4]==cnt[5]&&cnt[5]==cnt[6]&&cnt[6]==cnt[7]&&cnt[7]==4) printf("Yes\n"); else if(cnt[0]=16&&cnt[1]==cnt[2]&&cnt[2]==cnt[3]&&cnt[3]==cnt[4]&&cnt[4]==cnt[5]&&cnt[5]==4) printf("Yes\n"); else if(cnt[0]=16&&cnt[1]==16&&cnt[2]==cnt[3]&&cnt[3]==cnt[4]&&cnt[4]==4) printf("Yes\n"); else if(cnt[0]=16&&cnt[1]==16&&cnt[2]==16&&cnt[3]==4) printf("Yes\n"); else printf("No\n"); } cntt=0; } } return 0; }
全部评论
(0) 回帖