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

//#include "stdafx.h"
#include 
using namespace std;

int main() {
    int n = 0;
    cin >> n;
    while (n--) {
        int sum, leg, d = -2;
        cin >> sum >> leg;
        int d1 = leg - 4 * sum;
        int d2 = 2 * sum - leg;
        if (d1 % d == 0 && d2 % d == 0) {//若解为整数
            int x = d1 / d;//鸡数量
            int y = d2 / d;//兔数量
            if (x >= 0 && y >= 0) {
                cout << x << " " << y<< endl;
            }
            else {
                cout << "No answer" << endl;
            }
        }
        else {
            cout << "No answer" << endl;
        }
    }

    //system("pause");
    return 0;
}

你可能感兴趣的:(鸡兔同笼,线代行列式解决。已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。)