Notice
Recent Posts
Recent Comments
:: ADVANCE ::
95일차 1. omok 본문
반응형
95일차 1. omok
9단계 재귀
http://183.106.113.109/30stair/omok/omok.php?pname=omok
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 |
#include <iostream>
using namespace std;
char table[20][20];
int cnt[4];
void right(int i, int j, char color)
{
if(table[i][j] == color) {
cnt[0] += 1;
right(i, j+1, color);
}
else {
return ;
}
}
void below(int i, int j, char color)
{
if(table[i][j] == color) {
cnt[1] += 1;
below(i+1, j, color);
}
else {
return ;
}
}
void diagonal1(int i, int j, char color)
{
if(table[i][j] == color) {
cnt[2] += 1;
diagonal1(i+1, j+1, color);
}
else {
return ;
}
}
void diagonal2(int i, int j, char color)
{
if(table[i][j] == color) {
cnt[3] += 1;
diagonal2(i-1, j+1, color);
}
else {
return ;
}
}
int main(void)
{
int i, j;
for(i = 1; i < 20; i++) {
for(j = 1; j < 20; j++) {
cin >> table[i][j];
}
}
for(i = 0; i < 20; i++) {
table[i][0] = '0';
}
for(j = 0; j < 20; j++) {
table[0][j] = '0';
}
for(i = 1; i < 20; i++) {
for(j = 1; j < 20; j++){
if(table[i][j] == '1') {
if(table[i][j-1] != '1') {
right(i, j, '1');
}
if(table[i-1][j] != '1') {
below(i, j, '1');
}
if(table[i-1][j-1] != '1') {
diagonal1(i, j, '1');
}
if(table[i+1][j-1] != '1') {
diagonal2(i, j, '1');
}
for(int k = 0; k < 4; k++) {
if(cnt[k] == 5) {
cout << "1" << endl;
cout << i << " " << j << endl;
return 0;
}
cnt[k] = 0;
}
}
else if(table[i][j] == '2') {
if(table[i][j-1] != '2') {
right(i, j, '2');
}
if(table[i-1][j] != '2') {
below(i, j, '2');
}
if(table[i-1][j-1] != '2') {
diagonal1(i, j, '2');
}
if(table[i+1][j-1] != '2') {
diagonal2(i, j, '2');
}
for(int k = 0; k < 4; k++) {
if(cnt[k] == 5) {
cout << "2" << endl;
cout << i << " " << j << endl;
return 0;
}
cnt[k] = 0;
}
}
}
}
cout << "0" << endl;
return 0;
} |
테스트 케이스 보면서 맞추다 보니까 점점 지저분해 졌다....
정리하는 건 나중에ㅋㅋㅋ
이 문제가 역량평가였으면 못풀었을 듯...
반응형
'Algorithm > 일일알고리즘' 카테고리의 다른 글
98일차 1. mgcd (0) | 2014.10.14 |
---|---|
97일차 1. self_number (0) | 2014.10.13 |
87일차 1. cross (0) | 2014.10.08 |
90일차 1. sprime (0) | 2014.10.08 |
91일차 1. eratosthenes (0) | 2014.10.07 |
Comments