AcWing 5010. 分寝室
原题链接
简单
作者:
东河dd
,
2024-04-19 16:48:29
,
所有人可见
,
阅读 7
#include<iostream>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
vector<pair<int, pair<int, int>>>k;//差值 男女生宿舍数量
bool cmp(pair<int, pair<int, int>>a, pair<int, pair<int, int>>b){
return a.first < b.first;
}
int main() {
int a, b, n, aa = -1, bb = -1, ab = 0x3f3f3f3f;
cin >> a >> b >> n;
for (int i = 1; i < n; i++) {
if (a % i == 0 && b % (n - i) == 0) {
if (a / i == 1 || b / (n - i) == 1)continue;
k.push_back({ abs(a / i - b / (n - i)), {i, n - i} });
}
}
if (k.empty()) {
cout << "No Solution";
}
else {
sort(k.begin(), k.end(), cmp);
cout << k[0].second.first << ' ' << k[0].second.second;
}
}