作者的话:

这是一道经典的爆算、巧算题,这里提供两种思路

思路一:

思路一很简单,就是通过枚举鸡的数量看看什么时候合法。

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;
}