南阳oj_(64)鸡兔同笼

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。

鸡兔同笼

时间限制:3000 ms | 内存限制:65535 KB

难度:1

描述

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。

输入

第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10)
a行里,每行都有一个n和m.(0<m,n<100)

输出

输出鸡兔的个数,或者No answer

样例输入

1
2
3
2
14 32
10 16

样例输出

1
2
12 2
No answer

我用的编译器是CodeBlocks

我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>  
using namespace std;
int main()
{

int i,n,m,x,y;
cin>>i;
while(i--)
{
cin>>n>>m;
y=(m-2*n)/2;
x=n-y;

if(x<0 ||y<0 || m%2)
cout<<"No answer"<<endl;
else
cout<<x<<" "<<y<<endl;
}
}

最优代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>  
using namespace std;
int main()
{

int n,a,b,p,q;
cin>>n;
while(n--)
{
cin>>a>>b;
q=(b-2*a)/2;
p=a-q;
if(p<0 ||q<0 || b%2) cout<<"No answer"<<endl;
else cout<<p<<" "<<q<<endl;
}
}


O(∩_∩)O