Submission #298312
Source Code Expand
#include <iostream> #include <sstream> #include <fstream> #include <string> #include <vector> #include <deque> #include <queue> #include <stack> #include <set> #include <map> #include <algorithm> #include <utility> #include <bitset> #include <cmath> #include <cstdlib> #include <ctime> #include <cstdio> using namespace std; #define REP(i,n) for((i)=0;(i)<(int)(n);(i)++) #define foreach(c,itr) for(__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++) string mp[12]; typedef pair<int,int> P; const int di[4] = {-1,1,0,0}; const int dj[4] = {0,0,-1,1}; bool visited[12][12]; bool is_connected(int si, int sj) { memset(visited, 0, sizeof visited); queue<P> Q; Q.push(P(si, sj)); while (!Q.empty()) { P p = Q.front(); Q.pop(); int ci = p.first, cj = p.second; if (visited[ci][cj]) continue; //printf("%d,%d pop!\n", ci, cj); visited[ci][cj] = true; for(int i = 0; i < 4;i++) { int ni = ci + di[i], nj = cj + dj[i]; if (ni < 0 || nj < 0 || 10 <= ni || 10 <= nj || mp[ni][nj] == 'x') continue; if (visited[ni][nj]) continue; Q.push(P(ni, nj)); } } // chck for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (mp[i][j] == 'o' && !visited[i][j]) { //printf("%d-%d : false by %d,%d\n", si, sj, i, j); return false; } } } return true; } int solve() { int si = -1, sj = -1; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (mp[i][j] == 'o') { si = i, sj = j; break; } } if (si != -1) break; } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (mp[i][j] == 'x') { mp[i][j] = 'o'; //printf("call by %d,%d\n", i, j); //for (int k = 0; k < 10; k++) cout << mp[k] << endl; if (is_connected(si, sj)) return 1; mp[i][j] = 'x'; } } } return 0; } int main() { while (cin >> mp[0]) { for (int i = 1; i < 10; i++) { cin >> mp[i]; } printf("%s\n", solve() ? "YES" : "NO"); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 埋め立て |
User | brly |
Language | C++ (G++ 4.6.4) |
Score | 0 |
Code Size | 2188 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘bool is_connected(int, int)’: ./Main.cpp:33:36: error: ‘memset’ was not declared in this scope