贪心策略:
要求最少的数,先尽可能找到拥有脚数最多的动物,依次递减。
要求最多的数,先尽可能找到拥有脚数最少的动物,依次递增。
因为本题鸡有4只脚,兔有2只脚,若为奇数,则一定无解。
#include<iostream>
using namespace std;
int calMin(int feet){
int min_res=0;
min_res+=feet/4;
feet=feet%4;
min_res+=feet/2;
return min_res;
}
int calMax(int feet){
int max_res=0;
max_res+=feet/2;
return max_res;
}
int main(){
int feet=0;
int minnum=0,maxnum=0;
while(cin>>feet){
if(feet%2!=0){//脚为奇数,一定不存在动物
minnum=maxnum=0;
}
else{
minnum=calMin(feet);
maxnum=calMax(feet);
}
cout<<minnum<<" "<<maxnum<<endl;
}
}
