- BC20270003's blog
题解:C52. 【例11.1】鸡兔同笼
- 2024-10-31 17:05:27 @
作者的话:
这是一道经典的爆算、巧算题,这里提供两种思路
思路一:
思路一很简单,就是通过枚举鸡的数量看看什么时候合法。
AC code:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
for(int j=0;j<=x;++j){//枚举鸡的数量
int tmp=j*2+(x-j)*4;//算在这种情况下脚的数量
if(tmp==y){//合法
cout<<j<<" "<<x-j<<endl;
return 0;
}
}
return 0;
}
思路二:
思路二也十分简单,就是运用一个巧算:不管是鸡还是兔,它们都至少有两只脚和一个头,所以我们就可以通过这种方法直接算出兔的个数,同时,鸡的个数就解出来了。
AC code:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
int tmp=(y-x*2)/2;
cout<<x-tmp<<" "<<tmp<<endl;
return 0;
}