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
AC × 3
AC × 33
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