백준 [ALGORITHM] - 주사위 (1233)
2024. 1. 27. 11:58ㆍ코딩/백준 [ALGORITHM]
반응형
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main() {
int a, b, c;
int result;
scanf("%d %d %d", &a, &b, &c);
int *arr1 = (int *)malloc(a * sizeof(int));
int *arr2 = (int *)malloc(b * sizeof(int));
int *arr3 = (int *)malloc(c * sizeof(int));
int *value = (int *)malloc(a * b * c * sizeof(int));
for (int i = 0; i < a; i++) {
arr1[i] = i + 1;
}
for (int j = 0; j < b; j++) {
arr2[j] = j + 1;
}
for (int q = 0; q < c; q++) {
arr3[q] = q + 1;
}
int count = 0;
for (int i = 0; i < a; i++) {
for (int j = 0; j < b; j++) {
for (int q = 0; q < c; q++) {
value[count] = arr1[i] + arr2[j] + arr3[q];
count++;
}
}
}
for (int i = 0; i < a * b * c - 1; i++) {
for (int j = i + 1; j < a * b * c; j++) {
if (value[j] < value[i]) {
int temp = value[i];
value[i] = value[j];
value[j] = temp;
}
}
}
int current_value = value[0];
int current_count = 1;
int max_count = 1;
int most_frequent = value[0];
for (int i = 1; i < a * b * c; i++) {
if (value[i] == current_value) {
current_count++;
} else {
if (current_count > max_count || (current_count == max_count && value[i] < most_frequent)) {
max_count = current_count;
most_frequent = current_value;
}
current_value = value[i];
current_count = 1;
}
}
if (current_count > max_count || (current_count == max_count && current_value < most_frequent)) {
most_frequent = current_value;
}
printf("%d\n", most_frequent);
free(arr1);
free(arr2);
free(arr3);
free(value);
return 0;
}
반응형
'코딩 > 백준 [ALGORITHM]' 카테고리의 다른 글
백준 [ALGORITHM] - 카드1 (2161) (0) | 2024.01.30 |
---|---|
백준 [ALGORITHM] - 커트라인 (25305) (1) | 2024.01.28 |
백준 [ALGORITHM] - 문서 검색 (1543) (0) | 2024.01.25 |
백준 [ALGORITHM] - 숫자 카드 (10815) (0) | 2024.01.24 |
백준 [ALGORITHM] - A와 B (12904) (0) | 2024.01.21 |