您的位置:首页 > 其它

算法题-鸡兔同笼

2017-03-31 15:37 148 查看
/*自己写的代码
#include <stdio.h>
int main(void){
int i,j,n,m,count;
scanf("%d",&count);
for(i=0;i<count;i++){
scanf("%d %d",&n,&m);
for(j=1;j<=m;j++){
if(m == 2*(n-j)+4*j){
printf("%d %d\n",n-j,j);
break;
}
}
}
return 0;
}*/

//高手写的代码
/*
思路:假如都是兔子,则应该有4*n条腿
现在有m条腿,相差4*n-m,那么差的这些腿是把两条腿的鸡当作兔子了,假设有d只鸡,那么会多2d条腿
于是有 2d = 4*n-m
*/
#include<stdio.h>
int main(void)
{
int t,a,n,m,d;
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&n,&m);
if((4*n-m)%2==0)
{
d=(4*n-m)/2;
if(d>=0&&d<=n)
{
printf("%d %d\n",d,n-d);
}else
printf("No answer\n");
}else
printf("No answer\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: