본문 바로가기

알고리즘 관련/BOJ

BOJ)8892 팰린드롬

문제: icpc.me/8892


k개의 단어가 주어질 때 두 단어를 조합하여 팰린드롬이 되는 경우 출력하는 문제이다.


string 배열에 모든 단어들을 받아준 뒤 검사해주면 된다.


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
#include <cstdio>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std;
int t, k, f;
string a[101];
bool isPal(string x) {
    for (int i = 0; i < x.length(); i++) {
        if (x[i] != x[x.length() - - i])
            return 0;
    }
    return 1;
}
int main() {
    scanf("%d"&t);
    while (t--) {
        f = 0;
        scanf("%d"&k);
        for (int i = 0; i < k; i++
            cin >> a[i];
        for (int i = 0; i < k; i++) {
            for (int j = 0; j < k; j++) {
                if (i == j)continue;
                string z = a[i] + a[j];
                if (isPal(z)) {
                    cout << z << "\n";
                    f = 1;
                    break;
                }
            }
            if (f)break;
        }
        if (!f)puts("0");
    }
    return 0;
}
cs


'알고리즘 관련 > BOJ' 카테고리의 다른 글

BOJ)9413 제주도 관광  (0) 2017.03.13
BOJ)2311 왕복 여행  (0) 2017.03.13
BOJ)8892 팰린드롬  (0) 2017.03.13
BOJ)13576 Prefix와 Suffix  (0) 2017.03.13
BOJ)13506 카멜레온 부분 문자열  (0) 2017.03.12
BOJ)1585 경찰  (0) 2017.03.11

태그