Time To Get Up HDU - 6077 多校第四场

xiaoxiao2021-02-28  106

比赛时打了好久这题。。结果补题的时候发现可以简单好多

#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; int a[8][25]; int judge(int k) { if(a[0][1+k]&&a[1][0+k]&&a[3][1+k]&&a[4][0+k]&&a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 8; if(!a[0][1+k]&&!a[1][0+k]&&!a[3][1+k]&&!a[4][0+k]&&!a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 1; if(a[0][1+k]&&!a[1][0+k]&&a[3][1+k]&&a[4][0+k]&&a[6][1+k]&&a[1][3+k]&&!a[4][3+k]) return 2; if(a[0][1+k]&&!a[1][0+k]&&a[3][1+k]&&!a[4][0+k]&&a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 3; if(!a[0][1+k]&&a[1][0+k]&&a[3][1+k]&&!a[4][0+k]&&!a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 4; if(a[0][1+k]&&a[1][0+k]&&a[3][1+k]&&!a[4][0+k]&&a[6][1+k]&&!a[1][3+k]&&a[4][3+k]) return 5; if(a[0][1+k]&&a[1][0+k]&&a[3][1+k]&&a[4][0+k]&&a[6][1+k]&&!a[1][3+k]&&a[4][3+k]) return 6; if(a[0][1+k]&&!a[1][0+k]&&!a[3][1+k]&&!a[4][0+k]&&!a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 7; if(a[0][1+k]&&a[1][0+k]&&a[3][1+k]&&!a[4][0+k]&&a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 9; if(a[0][1+k]&&a[1][0+k]&&!a[3][1+k]&&a[4][0+k]&&a[6][1+k]&&a[1][3+k]&&a[4][3+k]) return 0; } int main() { int t; scanf("%d%*c",&t); char s[30]; while(t--) { memset(a,0,sizeof(a)); for(int i=0;i<7;i++) { scanf("%s",s); for(int j=0;j<21;j++) if(s[j]=='X') a[i][j]=1; } int b,c,d,e; b=judge(0); c=judge(5); d=judge(12); e=judge(17); printf("%d%d:%d%d\n",b,c,d,e); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-33551.html

最新回复(0)