其实就是高斯消元。
但是常数项未知,但是常数项一定是题目给定的常数的整数倍(K倍),所以要穷举一下这个K,然后做高斯消元。
但是常数项未知,但是常数项一定是题目给定的常数的整数倍(K倍),所以要穷举一下这个K,然后做高斯消元。
但是如何判断NONE呢?省事,多循环几次,一直不出解,就是无解了。
最近得写一个高斯消元的模板了……
/*
TASK:ratios
LANG:C++
*/
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
const int max_n = 5;
int equ, var;// 方程数量, var个变元 所以增广矩阵有equ行,var +1 列 (最后一列为你懂的)
int a[max_n][max_n], ta[max_n][max_n];
int x[max_n]; //解集
int gcd(int a, int b){return a == 0 ? b : gcd(b % a , a);}
int lcm(int a, int b){return a / gcd(a, b) * b;}
bool guess()
{
int row=0, col=0; //行,列
for (; row != equ && col != var; ++ row, ++ col)
{
int max_row = row;
for (int i = row + 1; i != equ; ++ i) i