[SW Expert Academy] 1216. 회문2
나의 코드
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 | // SW Expert Academy 1215. 회문2 #include<iostream> #include<string> using namespace std; #define MAX 100 int num, ans; char map[MAX][MAX]; string str; int main(void) { bool flag = true; for(int T = 1; T <= 10; T++) { ans = 0; cin >> num; getline(cin, str); for (int i = 0; i < MAX; i++) { for (int j = 0; j < MAX; j++) { cin >> map[i][j]; } } // 가로 탐색 for (int N = 1; N <= MAX; N++) { for (int i = 0; i < MAX; i++) { for (int n = 0; n <= MAX - N; n++) { flag = true; for (int j = 0; j < (N / 2); j++) { if (map[i][j + n] != map[i][N + n - j - 1]) flag = false; } if (flag && ans < N)ans = N; } } } // 세로 탐색 for (int N = 1; N <= MAX; N++) { for (int i = 0; i < MAX; i++) { for (int n = 0; n <= MAX - N; n++) { flag = true; for (int j = 0; j < (N / 2); j++) { if (map[j + n][i] != map[N + n - j - 1][i]) flag = false; } if (flag && ans < N)ans = N; } } } cout << '#' << num << ' ' << ans << '\n'; } return 0; } | cs |
'Problem > ETC' 카테고리의 다른 글
[C/C++] BOJ 2493 :: 탑 (0) | 2019.03.21 |
---|---|
[C/C++] BOJ 1158 :: 조세퍼스 문제 (0) | 2019.03.08 |
[SW Expert Academy] 1215. 회문1 (0) | 2019.03.06 |
[C/C++] BOJ 5525 :: IOIOI (0) | 2019.03.05 |
[SW Expert Academy] 1213. String (0) | 2019.03.05 |