1215. [S/W 문제해결 기본] 3일차 - 회문1

SW 업무 관련/SW Expert Academy

1215. [S/W 문제해결 기본] 3일차 - 회문1

WillBe_ 2018. 7. 24. 01:00

Ah....반복문 범위를 잘못생각해서 뻘짓스~~~~




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
#include <stdio.h>
#include <string.h>
 
char map[8][8];
 
int Check_X(int len, int y, int x)
{
    for (int i = 0; i < len / 2; i++)
    {
        if (map[y][x + i] != map[y][x + len - 1 - i])
        {
            return 0;
        }
    }
    return 1;
}
 
int Check_Y(int len, int y, int x)
{
    for (int i = 0; i < len / 2; i++)
    {
        if (map[y + i][x] != map[y + len - 1 - i][x])
        {
            return 0;
        }
    }
    return 1;
}
 
 
int main()
{
    for (int i = 1; i <= 10; i++)
    {
        int len, count = 0;
        scanf("%d"&len);
 
        for (int a = 0; a < 8; a++)
        {
            scanf("%s", map[a]);
        }
 
        for (int a = 0; a <= 8 - len; a++)
        {
            for (int b = 0; b < 8; b++)
            {
                count += Check_Y(len, a, b);
            }
        }
 
        for (int a = 0; a < 8; a++)
        {
            for (int b = 0; b <= 8 - len; b++)
            {
                count += Check_X(len, a, b);
            }
        }
        printf("#%d %d\n", i, count);
    }
 
    return 0;
}
cs