2017多校4 1011 Time To Get Up

xiaoxiao2021-02-28  96

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; }

转载请注明原文地址: https://www.6miu.com/read-35309.html

最新回复(0)