Boj3024_마라톤 틱택토

Published: by Creative Commons Licence

백준 3024 마라톤 틱택토

대각선의 종류를 잘 생각해서 코딩하자! / 만 있는게 아니라 \ 도 있다.

#include<iostream>
using namespace std;

char arr[30][30];
int n;

int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			scanf(" %c", &arr[i][j]);
		}
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			if (arr[i][j] == '.') continue;
			if (i + 1 < n && i + 2 < n) {
				if (arr[i][j] == arr[i + 1][j] && arr[i][j] == arr[i + 2][j]) {
					printf("%c", arr[i][j]);
					return 0;
				}
			}
			if (j + 1 < n && j + 2 < n) {
				if (arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2]) {
					printf("%c", arr[i][j]);
					return 0;
				}
			}
			if (i + 1 < n && i + 2 < n && j + 1 < n && j + 2 < n) {
				if (arr[i][j] == arr[i + 1][j+1] && arr[i][j] == arr[i + 2][j+2]) {
					printf("%c", arr[i][j]);
					return 0;
				}
			}
			if (i + 1 < n && i + 2 < n && j - 1 >=0 && j - 2 >=0) {
				if (arr[i][j] == arr[i + 1][j - 1] && arr[i][j] == arr[i + 2][j - 2]) {
					printf("%c", arr[i][j]);
					return 0;
				}
			}
		}
	}
	printf("ongoing");
}