[swea] 1265. 달란트2 (C++, 수학?)
728x90
반응형
묶음의 개수 P가 정해졌을 때 각 묶음의 달란트를 곱한 수가 크려면 각 묶음의 달란트가 최대한 골고루 분배되어야 된다는 것을 알 수 있다.
일단 달란드 개수 N/P는 각 묶음의 최소 달란트 개수로 초기화해준다.
그러면 N%P만큼의 분배되지 않은 달란트가 남을 것인데 해당 달란트들은 골고루 +1씩 해줘서 나눠준 후 곱하면 된다.
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int n, t, p;
long long ans;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> t;
for (int tc = 1; tc <= t; tc++)
{
ans = 1;
cin >> n >> p;//p는 묶음의 수
vector<int> v;
for(int i=0;i<p;i++){
v.push_back(n / p);//각 묶음 초기 개수
}
for (int i = 0; i < n%p; i++) {
v[i]++;
}
for (int i = 0; i < p; i++) {
ans *= v[i];
}
cout << "#" << tc << " " << ans << "\n";
}
return 0;
}
728x90
반응형
'swexpert' 카테고리의 다른 글
[swexpert] 2806. N-Queen (dfs, C++) [D3] (0) | 2021.10.01 |
---|---|
[swexpert] 1267. 작업순서 (C++, 위상정렬, dfs) [D6] (0) | 2021.09.30 |
[swexpert] 1245. 균형점 (c++, 이분탐색) (0) | 2021.09.29 |
[swexpert] 1221. GNS (C++, 문자열) (0) | 2021.09.29 |
[swexpert] 1266. 소수 완제품 확률 (C++, 조합) (0) | 2021.09.29 |
TAGS.