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

 

이번에 볼 문제는 백준 26074번 문제인 곰곰이와 테트리스이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/26074 

 

26074번: 곰곰이와 테트리스

곰곰이가 첫 차례에 4번째 종류의 블록(2×2 모양)을 그림과 같이 배치하고 20점을 획득하면, 이후 게임이 어떻게 흘러가던 관련 없이 무조건 이길 수 있다.

www.acmicpc.net

선공이 주어진 \(N \times M\) 정가운데를 기준으로 점대칭이 되게끔 첫 블록을 놓은 뒤 후공이 블록을 하나 놓을 때마다 그 점대칭모양으로 블록을 따라 놓는다면 선공이 항상 이기게 될 것이다. 

 

\(2 \times 1\) 게임판과 \(1 \times 2\) 게임판을 제외한 모든 게임판에서는 위와 같이 첫 블록을 놓는 것이 항상 가능함을 관찰하자. 또한, 이 두 게임판에서는 선공이 항상 패배함을 관찰하자.

 

따라서 \(NM\)의 값이 2인지를 판단하는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int N, M;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N >> M;
	if (N * M == 2) cout << "ChongChong";
	else cout << "GomGom";
}
728x90

+ Recent posts