※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts