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

 

이번에 볼 문제는 백준 29130번 문제인 Стеллаж с книгами이다.
문제는 아래 링크를 확인하자.

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

 

29130번: Стеллаж с книгами

В первой и единственной строке входного файла дано два натуральных числа $n, m$ ($1 \le n, m \le 100$).

www.acmicpc.net

1부터 5까지의 정수를 사용해 모든 십자모양에는 1부터 5까지의 모든 정수가 등장하게끔, 그리고 모든 3x3 사각형의 둘레 모양에는 모든 정수가 등장하지는 않게끔 수를 배치하는 문제이다.

 

규칙을 하나 찾으면 위의 조건을 만족하게끔 수를 항상 규칙적으로 배치할 수 있다. 그 방법을 직접 찾아 문제를 해결해보자. (찾기 어렵다면 아래의 제출 코드를 참고하자.)

 

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

#include <iostream>
using namespace std;

int R, C;
int ans[5][5];

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

	ans[0][0] = 5, ans[0][1] = 4, ans[0][2] = 1, ans[0][3] = 3, ans[0][4] = 2;
	ans[1][0] = 3, ans[1][1] = 2, ans[1][2] = 5, ans[1][3] = 4, ans[1][4] = 1;
	ans[2][0] = 4, ans[2][1] = 1, ans[2][2] = 3, ans[2][3] = 2, ans[2][4] = 5;
	ans[3][0] = 2, ans[3][1] = 5, ans[3][2] = 4, ans[3][3] = 1, ans[3][4] = 3;
	ans[4][0] = 1, ans[4][1] = 3, ans[4][2] = 2, ans[4][3] = 5, ans[4][4] = 4;

	cin >> R >> C;
	for (int r = 0; r < R; r++) {
		for (int c = 0; c < C; c++) {
			cout << ans[r % 5][c % 5] << ' ';
		}
		cout << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 29131 // C++] Хобби  (0) 2024.02.11
[BOJ 6123 // C++] Oh Those Fads  (1) 2024.02.10
[BOJ 8385 // C++] ROT13  (1) 2024.02.08
[BOJ 8598 // C++] Zając  (1) 2024.02.07
[BOJ 8673 // C++] Krany  (0) 2024.02.06

+ Recent posts