悬两关
  • 板块学术版
  • 楼主Hanrui1206
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/25 19:51
  • 上次更新2024/5/25 20:32:22
查看原帖
悬两关
1283944
Hanrui1206楼主2024/5/25 19:51

U434964U434964 RERE 求调!

#include <bits/stdc++.h>
using namespace std;
int n, m, x, y;
char a[1005][1005];

char pd() {
	for (int x = 0; x < n; x++) {
		for (int y = 0; y < n - 4; y++) {
			if (a[x][y] == 'o' && a[x][y + 1] == 'o' && a[x][y + 2] == 'o' && a[x][y + 3] == 'o' && a[x][y + 4] == 'o') {
				return 'o';
			}
			if (a[x][y] == 'x' && a[x][y + 1] == 'x' && a[x][y + 2] == 'x' && a[x][y + 3] == 'x' && a[x][y + 4] == 'x') {
				return 'x';
			}
		}
	}
	for (int x = 0; x < n - 4; x++) {
		for (int y = 0; y < n; y++) {
			if (a[x][y] == 'o' && a[x + 1][y] == 'o' && a[x + 2][y] == 'o' && a[x + 3][y] == 'o' && a[x + 4][y] == 'o') {
				return 'o';
			}
			if (a[x][y] == 'x' && a[x + 1][y] == 'x' && a[x + 2][y] == 'x' && a[x + 3][y] == 'x' && a[x + 4][y] == 'x') {
				return 'x';
			}
		}
	}
	for (int x = 0; x < n - 4; x++) {
		for (int y = 0; y < n - 4; y++) {
			if (a[x][y] == 'o' && a[x + 1][y + 1] == 'o' && a[x + 2][y + 2] == 'o' && a[x + 3][y + 3] == 'o' && a[x + 4][y + 4] == 'o') {
				return 'o';
			}
			if (a[x][y] == 'x' && a[x + 1][y + 1] == 'x' && a[x + 2][y + 2] == 'x' && a[x + 3][y + 3] == 'x' && a[x + 4][y + 4] == 'x') {
				return 'x';
			}
		}
	}
	for (int x = 4; x < n; x++) {
		for (int y = 4; y < n; y++) {
			if (a[x][y] == 'o' && a[x - 1][y - 1] == 'o' && a[x - 2][y - 2] == 'o' && a[x - 3][y - 3] == 'o' && a[x - 4][y - 4] == 'o') {
				return 'o';
			}
			if (a[x][y] == 'x' && a[x - 1][y - 1] == 'x' && a[x - 2][y - 2] == 'x' && a[x - 3][y - 3] == 'x' && a[x - 4][y - 4] == 'x') {
				return 'x';
			}
		}
	}
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		cin >> x >> y;
		if (x % 2 == 0) a[x][y] = 'o';
		else a[x][y] = 'x';
		if (pd() == 'o') {
			cout << "XKB " << i;
		}
		if (pd() == 'x') {
			cout << "DKB " << i;
		}
	}
	cout<<"UNK "<<m;
	return 0;
}
2024/5/25 19:51
加载中...