hdu 6077 Time To Get Up(简单模拟)
程序员文章站
2022-06-09 17:42:50
...
题意:
把上面的矩阵里的时间输出
思路:
简单模拟一下
代码:
#include <iostream>
#include <stdio.h>
using namespace std;
char c[7][21];
int get(char c[7][4])
{
bool a[7];
if(c[1][0]=='X'&&c[2][0]=='X')a[0]=true;else a[0]=false;
if(c[0][1]=='X'&&c[0][2]=='X')a[1]=true;else a[1]=false;
if(c[1][3]=='X'&&c[2][3]=='X')a[2]=true;else a[2]=false;
if(c[4][3]=='X'&&c[5][3]=='X')a[3]=true;else a[3]=false;
if(c[6][1]=='X'&&c[6][2]=='X')a[4]=true;else a[4]=false;
if(c[4][0]=='X'&&c[5][0]=='X')a[5]=true;else a[5]=false;
if(c[3][1]=='X'&&c[3][2]=='X')a[6]=true;else a[6]=false;
if(a[0]&&a[1]&&a[2]&&a[3]&&a[4]&&a[5]&&!a[6])
return 0;
if(!a[0]&&!a[1]&&a[2]&&a[3]&&!a[4]&&!a[5]&&!a[6])
return 1;
if(!a[0]&&a[1]&&a[2]&&!a[3]&&a[4]&&a[5]&&a[6])
return 2;
if(!a[0]&&a[1]&&a[2]&&a[3]&&a[4]&&!a[5]&&a[6])
return 3;
if(a[0]&&!a[1]&&a[2]&&a[3]&&!a[4]&&!a[5]&&a[6])
return 4;
if(a[0]&&a[1]&&!a[2]&&a[3]&&a[4]&&!a[5]&&a[6])
return 5;
if(a[0]&&a[1]&&!a[2]&&a[3]&&a[4]&&a[5]&&a[6])
return 6;
if(!a[0]&&a[1]&&a[2]&&a[3]&&!a[4]&&!a[5]&&!a[6])
return 7;
if(a[0]&&a[1]&&a[2]&&a[3]&&a[4]&&a[5]&&a[6])
return 8;
if(a[0]&&a[1]&&a[2]&&a[3]&&a[4]&&!a[5]&&a[6])
return 9;
}
void show(char t[7][4])
{
cout<<endl<<endl;
for(int i=0;i<7;i++)
{
for(int j=0;j<4;j++)
cout<<t[i][j];
cout<<endl;
}
}
int main()
{
int n;
cin>>n;
scanf("%d",&n);
while(n--)
{
for(int i=0;i<7;i++)
{for(int j=0;j<21;j++)
scanf("%c",&c[i][j]);
getchar();
}
char t[7][4];
for(int i=0;i<7;i++)
for(int j=0;j<4;j++)
t[i][j]=c[i][j];
// show(t);
printf("%d",get(t));
for(int i=0;i<7;i++)
for(int j=0;j<4;j++)
t[i][j]=c[i][j+5];
//show(t);
printf("%d:",get(t));
for(int i=0;i<7;i++)
for(int j=0;j<4;j++)
t[i][j]=c[i][j+12];
//show(t);
printf("%d",get(t));
for(int i=0;i<7;i++)
for(int j=0;j<4;j++)
t[i][j]=c[i][j+17];
//show(t);
printf("%d\n",get(t));
}
return 0;
}