본문 바로가기

C++/BOJ

#5 - 20944번 팰린드롬 척화비

728x90

문제

흥선이는 팰린드롬을 싫어한다. 어느 날 지구를 정복한 흥선이는 팰린드롬 척화비를 세워, 전 지구의 팰린드롬을 없애버렸다. 그리고 수미상관 순수비를 만들어 수미상관을 널리 퍼뜨렸다.

팰린드롬과 수미상관의 정의는 다음과 같다.

  • 팰린드롬 : (앞뒤가 똑같은 팰린드롬~) “u”, “xyx”, “krrk” 같이 뒤집어 읽어도 같은 문자열을 뜻한다.
  • 수미상관 : (앞뒤가 똑같은 수미상관~) “z”, “pqpq”, “astoast” 같이 앞쪽 절반이 뒤쪽 절반과 같은 문자열을 뜻한다. 정확히는, 길이가 N인 문자열이면 길이가 ⌊N2⌋인 접두사와 접미사가 동일한 문자열을 뜻한다.

민수는 팰린드롬의 유구한 역사를 살리고 싶었지만, 여기저기 박힌 팰린드롬 척화비 때문에 그 꿈을 이룰 수 없었다. 그래도 하늘이 무너져도 솟아날 구멍이 있으랴! 민수는 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견한 것이다! 이것은 흥선이의 팰린드롬 척화비에 위배되지 않았고, 민수는 팰린드롬의 유구한 역사를 후대에 남기기 위해 노트 한 켠에 이 사실을 적었다.

미래에 후손들은 민수의 노트를 발견했지만, 시간이 너무 오래 지나버렸다. 민수의 노트는 얼룩과 먼지 때문에 많은 부분을 알아볼 수가 없었다. 오로지 민수가 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견했다는 사실만을 알 수 있었을 뿐이다.

민수의 후손인 시철이는 민수의 노트가 사실이라 생각했고, 길이가 N인 수미상관이면서 팰린드롬인 문자열을 찾기 위해 공학관에서 밤새 연구를 하고 있다.

민수가 찾은 것은 무엇이었을까?

입력

다음과 같이 입력이 주어진다.

N

출력

길이가 N이고 알파벳 소문자로 이루어진, 수미상관이면서 팰린드롬인 문자열을 출력한다. 

항상 그러한 문자열은 존재하고, 만약 여러 가지가 있다면 그중 하나를 출력한다.

제한

  • 1≤N≤1,000,000
  • 입력으로 주어지는 모든 수는 정수다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
 
    for (int i = 0;i < n;i++)
        cout << 'a';
 
    return 0;
}
cs

 

'C++ > BOJ' 카테고리의 다른 글

#7 - 20943번 카카오톡(오답)  (0) 2021.08.15
#6 - 20937번 떡국  (0) 2021.08.09
#4 - 16953번 A → B  (0) 2021.08.09
#3 - 11501번 주식  (0) 2021.08.06
#2 7785 - 회사에 있는 사람  (0) 2021.08.04