본문 바로가기
Computer Science

회문1

by OKOK 2019. 1. 21.

1. 회문에 대해 따른 알고리즘이 있는 것은 아님

2. 단순하게  Naive 하게 생각하고

3. 알면 좋고, 몰라도 갠찮음

4. 예를 들어 한가지 줄에서 하나의 패턴을 찾는 것에 대해서는 

5. 익혀둘 필요가 있음


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
#include <stdio.h>
 
char board[8][9];
 
int main() {
    freopen("input.txt""r", stdin);
 
    int T;
    int count;
    int length;
    int tmp;
    int i, j, k;
 
    setbuf(stdout, NULL);
    for (T = 1; T <= 10++T) {
        count = 0;
        scanf("%d"&length);
        for (i = 0; i < 8++i)
            scanf("%s", board[i]);
        for (i = 0; i < 8++i)
        {
            for (j = 0; j <= 8 - length; ++j) {
                tmp = length - 1// 앞자리와 뒷자리 비교
                for (k = j; tmp > 0++k, tmp -= 2) { // 앞과 뒤로 줄어들면서 비교하는 ㄱ서임
                    if (board[i][k] != board[i][k + tmp])
                        break;
                }
                if (tmp <= 0)
                    ++count;
            }
        }
        for (i = 0; i <= 8 - length; ++i) { // 세로에 대해서 검사를 진행함
            for (j = 0; j < 8++j) {
                tmp = length - 1;
                for (k = i; tmp > 0++k, tmp -= 2) {
                    if (board[k][j] != board[k + tmp][j])
                        break;
                }
                if (tmp <= 0)
                    ++count;
            }
        }
        printf("#%d %d\n", T, count);
    }
    return 0;
}
cs

 


'Computer Science' 카테고리의 다른 글

거듭 제곱  (0) 2019.01.21
회문2  (0) 2019.01.21
String  (0) 2019.01.21
Ladder2  (0) 2019.01.21
Ladder1  (0) 2019.01.21

댓글