※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 23649번 문제인 Alice and Path이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/23649
같은 행동을 6번 연속 하면 아무 행동도 하지 않은 것과 같게 됨을 관찰하자. 따라서, 주어진 행동을 마지막 행동부터 거꾸로 5번씩 실행하면 초기 상태로 항상 돌아갈 수 있다.
초기 상태로 돌아가면 위치 또한 처음과 똑같이 되고, 출력하는 문자열의 길이는 길어야 5만이므로 이와 같은 방법으로 문제를 충분히 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
string s;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> s;
while (!s.empty()) {
for (int k = 0; k < 5; k++) cout << s.back();
s.pop_back();
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 27488 // C++] Sum of Two Numbers (2) | 2024.09.25 |
---|---|
[BOJ 22128 // C++] Молекула (4) | 2024.09.24 |
[BOJ 32315 // C++] Cool Phone Numbers (0) | 2024.09.20 |
[BOJ 20011 // C++] Рекламный щит (1) | 2024.09.19 |
[BOJ 10291 // C++] Ribbon (1) | 2024.09.15 |