原题链接:HDU-6077
大意:模拟即可。
思路:统计 7 个点。
打了23分钟..
代码实现:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mem(s,t) memset(s,t,sizeof(s))
#define D(v) cout<<#v<<" "<<v<<endl
#define inf 0x3f3f3f3f
//#define LOCAL
inline void read(int &x){
x=0;char p=getchar();
while(!(p<='9'&&p>='0'))p=getchar();
while(p<='9'&&p>='0')x*=10,x+=p-48,p=getchar();
}
void Print(int a,int b,int c,int d,int e,int f,int g){
if(a&&b&&c&&e&&f&&g&&!d) printf("0");
else if(!a&&!b&&c&&!d&&!e&&f&&!g) printf("1");
else if(a&&!b&&c&&d&&e&&!f&&g) printf("2");
else if(a&&!b&&c&&d&&!e&&f&&g) printf("3");
else if(!a&&b&&c&&d&&!e&&f&&!g) printf("4");
else if(a&&b&&!c&&d&&!e&&f&&g) printf("5");
else if(a&&b&&!c&&d&&f&&g&&e) printf("6");
else if(a&&!b&&c&&!d&&!e&&f&&!g) printf("7");
else if(a&&b&&c&&d&&e&&f&&g) printf("8");
else if(a&&b&&c&&d&&f&&g&&!e) printf("9");
}
int main() {
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
int t;
read(t);
while(t--){
string s[8];
for(int i=1;i<=7;i++){
cin>>s[i];
}
//for(int i=1;i<=7;i++) D(s[i]);
for(int i=0;i<20;i+=5){
int a=0,b=0,c=0,d=0,e=0,f=0,g=0;
if(s[1][1+i]=='X') a=1;
if(s[2][0+i]=='X') b=1;
if(s[2][3+i]=='X') c=1;
if(s[4][1+i]=='X') d=1;
if(s[5][0+i]=='X') e=1;
if(s[5][3+i]=='X') f=1;
if(s[7][1+i]=='X') g=1;
Print(a,b,c,d,e,f,g);
if(i==5) printf(":"),i+=2;
}
puts("");
}
return 0;
}