2017多校4 1011 Time To Get Up

来源:互联网 发布:英雄美工钢笔9076 编辑:程序博客网 时间:2024/06/01 18:55

http://acm.hdu.edu.cn/showproblem.php?pid=6077





给出一个类似电子表显示时间的图,求输出相应阿拉伯数字表示的时间

因为在电子表里每个数字可以看成7条边组成,所以在7条边里面找一个点,就可以表示该条边是否存在,就可以根据这个来对应阿拉伯数字了.


#include<bits/stdc++.h>using namespace std;char a[44][44];int find(int x,int y){      if(a[x][y+1]=='X'&&a[x+1][y]=='X'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='.'&&a[x+4][y]=='X'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 0;      if(a[x][y+1]=='.'&&a[x+1][y]=='.'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='.'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='.')      return 1;      if(a[x][y+1]=='X'&&a[x+1][y]=='.'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='X'&&a[x+4][y]=='X'&&a[x+4][y+3]=='.'&&a[x+6][y+1]=='X')      return 2;      if(a[x][y+1]=='X'&&a[x+1][y]=='.'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='X'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 3;      if(a[x][y+1]=='.'&&a[x+1][y]=='X'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='X'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='.')      return 4;      if(a[x][y+1]=='X'&&a[x+1][y]=='X'&&a[x+1][y+3]=='.'&&a[x+3][y+1]=='X'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 5;      if(a[x][y+1]=='X'&&a[x+1][y]=='X'&&a[x+1][y+3]=='.'&&a[x+3][y+1]=='X'&&a[x+4][y]=='X'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 6;      if(a[x][y+1]=='X'&&a[x+1][y]=='.'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='.'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='.')      return 7;      if(a[x][y+1]=='X'&&a[x+1][y]=='X'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='X'&&a[x+4][y]=='X'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 8;      if(a[x][y+1]=='X'&&a[x+1][y]=='X'&&a[x+1][y+3]=='X'&&a[x+3][y+1]=='X'&&a[x+4][y]=='.'&&a[x+4][y+3]=='X'&&a[x+6][y+1]=='X')      return 9;}int main(){    int t;    cin>>t;        while(t--)    {     int i;     for(i=0;i<7;i++)     cin>>a[i];     int q,w,e,r;     q=find(0,0);     w=find(0,5);     e=find(0,12);     r=find(0,17);     cout<<q<<w<<":"<<e<<r<<endl;    }    return 0;}


原创粉丝点击