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

 

이번에 볼 문제는 백준 1233번 문제인 주사위이다.
문제는 아래 링크를 확인하자.

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

 

1233번: 주사위

지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2

www.acmicpc.net

주어진 주사위들로 나올 수 있는 주사위 눈의 순서쌍 (x,y,z)를 모두 한번씩 살피면서 각 k에 대해 합이 k가 되는 경우의 수를 전부 구하고 문제를 해결하자. 위의 경우의 수를 살피는 것은 3중 반복문을 이용하면 간단히 구현할 수 있다.

 

나올 수 있는 모든 주사위의 경우의 수는 최대 20*20*40 = 16,000가지로, 이 경우의 수를 모두 살피는 것은 제한시간 내에 충분히 가능하다.

 

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

#include <iostream>
using namespace std;

int arr[81];

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

	int x, y, z; cin >> x >> y >> z;
	for (int i = 1; i <= x; i++) {
		for (int j = 1; j <= y; j++) {
			for (int k = 1; k <= z; k++) {
				arr[i + j + k]++;
			}
		}
	}
	int ans = 0;
	int val = 0;
	for (int i = 1; i <= 80; i++) {
		if (arr[i] > val) {
			ans = i;
			val = arr[i];
		}
	}

	cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 6040 // C++] Hexadecimal Conversion  (0) 2022.09.30
[BOJ 14915 // C++] 진수 변환기  (0) 2022.09.29
[BOJ 6060 // C++] Wheel Rotation  (0) 2022.09.27
[BOJ 6059 // C++] Pasture Walking  (1) 2022.09.26
[BOJ 18003 // C++] Checkerboard  (0) 2022.09.25

+ Recent posts