您的位置:首页 > 其它

九度OJ-1155:鸡兔同笼

2017-03-07 17:01 113 查看
题目描述:

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
输入:

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出:

输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开

如果没有满足要求的答案,则输出两个0。
样例输入:
2
3
20

样例输出:
0 0
5 10

来源:2011年北京大学计算机研究生机试真题答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7878-1-1.html
#include <cstdio>
using namespace std;

int main(){
int n,a;
int MAXR,MINR,MAXC,MINC;
bool find;
scanf("%d",&n);
for (int time=0;time<n;time++){
//initiate
scanf("%d",&a);
find=false;
MAXR=a/4;
MAXC=a/2;
//cal
//找最少
for (int i=MAXR;i>=0;i--){//i为兔子数
if ((a-4*i)%2==0){
printf("%d ",i+(a-4*i)/2);
find=true;
break;
}
}
//找最多
for (int i=MAXC;i>=0;i--){//i为鸡数
if ((a-2*i)%4==0){
printf("%d\n",i+(a-2*i)/4);
find=true;/**/
break;
}
}
if (!find){
printf("0 0\n");
}
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: