Submission #299195
Source Code Expand
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <numeric>
#define FOR(x, to) for (int x = 0; x < to; x++)
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
string s;
int f[15][15];
int cnt;
int mi[] = {1, 0, -1, 0};
int mj[] = {0, 1, 0,-1};
void dfs(int i, int j, int id) {
f[i][j] = id;
for (int k = 0; k < 4; k++) {
int ni = i + mi[k];
int nj = j + mj[k];
if (ni < 0 || ni >= 10 || nj < 0 || nj >= 10) continue;
if (f[ni][nj] == -1) dfs(ni, nj, id);
}
}
int main() {
FOR(i, 10) {
cin >> s;
FOR(j, s.size()) {
if (s[j] == 'x') f[i][j] = 0;
else f[i][j] = -1;
}
}
FOR(i, 10) {
FOR(j, 10) {
if (f[i][j] == -1) dfs(i, j, ++cnt);
}
}
//FOR(i, 10) {
// FOR(j, 10) {
// cout << f[i][j] << " ";
// }
// cout << endl;
//}
if (cnt > 4) {
cout << "NO" << endl;
} else {
FOR(i, 10) {
FOR(j, 10) {
if (f[i][j] != 0) continue;
int bit[5] = {0};
FOR(k, 4) {
int ni = i + mi[k];
int nj = j + mj[k];
if (ni < 0 || ni >= 10 || nj < 0 || nj >= 10) continue;
if (f[ni][nj] == 0) continue;
bit[f[ni][nj]] = 1;
}
int sum = accumulate(bit, bit + 5, 0);
if (sum == cnt) {
cout << "YES" << endl;
return 0;
}
}
}
cout << "NO" << endl;
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - 埋め立て |
| User | apple_juice |
| Language | C++ (G++ 4.6.4) |
| Score | 100 |
| Code Size | 1533 Byte |
| Status | AC |
| Exec Time | 26 ms |
| Memory | 928 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 24 ms | 808 KiB |
| 00_sample_01.txt | AC | 22 ms | 804 KiB |
| 00_sample_02.txt | AC | 24 ms | 804 KiB |
| 10_rand_00.txt | AC | 23 ms | 720 KiB |
| 10_rand_01.txt | AC | 23 ms | 676 KiB |
| 10_rand_02.txt | AC | 24 ms | 804 KiB |
| 10_rand_03.txt | AC | 26 ms | 788 KiB |
| 10_rand_04.txt | AC | 23 ms | 796 KiB |
| 10_rand_05.txt | AC | 24 ms | 800 KiB |
| 10_rand_06.txt | AC | 24 ms | 700 KiB |
| 10_rand_07.txt | AC | 24 ms | 804 KiB |
| 10_rand_08.txt | AC | 23 ms | 676 KiB |
| 10_rand_09.txt | AC | 23 ms | 928 KiB |
| 10_rand_10.txt | AC | 23 ms | 924 KiB |
| 10_rand_11.txt | AC | 22 ms | 924 KiB |
| 10_rand_12.txt | AC | 24 ms | 804 KiB |
| 10_rand_13.txt | AC | 22 ms | 920 KiB |
| 10_rand_14.txt | AC | 22 ms | 800 KiB |
| 10_rand_15.txt | AC | 22 ms | 800 KiB |
| 10_rand_16.txt | AC | 24 ms | 924 KiB |
| 10_rand_17.txt | AC | 24 ms | 796 KiB |
| 10_rand_18.txt | AC | 23 ms | 800 KiB |
| 10_rand_19.txt | AC | 23 ms | 796 KiB |
| 10_rand_20.txt | AC | 24 ms | 676 KiB |
| 10_rand_21.txt | AC | 23 ms | 800 KiB |
| 10_rand_22.txt | AC | 21 ms | 672 KiB |
| 10_rand_23.txt | AC | 23 ms | 796 KiB |
| 10_rand_24.txt | AC | 24 ms | 788 KiB |
| 10_rand_25.txt | AC | 24 ms | 752 KiB |
| 10_rand_26.txt | AC | 24 ms | 808 KiB |
| 10_rand_27.txt | AC | 23 ms | 800 KiB |
| 10_rand_28.txt | AC | 21 ms | 788 KiB |
| 10_rand_29.txt | AC | 25 ms | 792 KiB |