ZOJ - 3954 Seven-Segment Display——暴力
#include #include #include #include using namespace std;const int cur[10][10] = { {1, 0, 0, 1, 1, 1, 1}, {0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 0, 1, 1, 0}, {1, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0}};int T, n, a[10][10];bool vis[10];char s[10];bool judge(int x, int y) { for (int i = 0; i < 9; i++) { if (a[i][x] != -1 && a[i][x] != cur[i][y]) return false; } return true;}bool dfs(int d) { if (d == 7) return true; for (int i = 0; i < 7; i++) { if (vis[i]) continue; if (judge(d, i)) { vis[i] = true; if (dfs(d+1)) return true; vis[i] = false; } } return false;}int main() { scanf("%d", &T); while (T--) { scanf("%d", &n); memset(a, -1, sizeof(a)); int id; for (int i = 0; i < n; i++) { scanf("%d", &id); id--; scanf("%s", s); for (int j = 0; s[j]; j++) a[id][j] = s[j] - '0'; } memset(vis, false, sizeof(vis)); if (dfs(0)) printf("YES\n"); else printf("NO\n"); } return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~