L1-095 分寝室
题目 L1-095 分寝室
思路分析
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
using ll = long long;
using ull = unsigned long long;
using PII = pair<int,int>;
using Pll = pair<ll,ll>;
int dx[4]= {-1,0,1,0},dy[4]= {0,1,0,-1};
const int inf = 0x3f3f3f3f;
int main() {
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n0,n1,n;cin>>n0>>n1>>n;
int ansF,ansM;
int mincj=inf;
bool havefind=false;
for(int l=1;l<=n-1;l++){//枚举女生宿舍多少间 最少1间 最多n-1间
int r=n-l;
if(n0%l!=0 || n1%r!=0) continue;
int curF=n0/l;
int curM=n1/r;
if(curF==1 || curM==1) continue; // 不允许一人一间 小心遗漏条件
int curcj=abs(curF-curM);
if(curcj<mincj){
mincj=curcj;
ansF=l;
ansM=r;
havefind=true;
}
}
if(havefind){
cout<<ansF<<" "<<ansM;
}else{
cout<<"No Solution";
}
return 0;
}
同类题型
视频讲解
⬅️ L1-094 剪切粘贴 🏠 00-天梯赛 ➡️ L1-096 谁管谁叫爹
💬 评论