ACM_鸡兔同笼(二元一次方程)
鸡兔同笼
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
今有雉兔同笼,上有n头,下有m足,问雉兔各几何?
Input:
输入有多组数据 每组输入包含以空格分开的两个整数n,m (0 < n, m <= 10000), n表示鸡和兔的总头数,m表示总脚数。
Output:
对于每组输入数据,若有可行解,则输出以一个空格分开的两个整数,分别表示鸡的数量和兔的数量,若无解则输出一个整数-1。 每组输出占一行
Sample Input:
3 10 2 2
Sample Output:
1 2 -1
解题思路:简单的二元一次方程,有解要满足4个条件,水过!
AC代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n,m,x,y; 5 while(cin>>n>>m){ 6 x=4*n-m;y=m-2*n;//x为鸡的数量,y为兔的数量 7 if(x>=0&&x%2==0&&y>=0&&y%2==0)cout<<x/2<<' '<<y/2<<endl; 8 else cout<<"-1"<<endl; 9 } 10 return 0; 11 }