100分但是hack只对了1个点
查看原帖
100分但是hack只对了1个点
1367475
yaomengshun楼主2024/6/19 14:21
#include <bits/stdc++.h>
using namespace std;
int n;
double a[105][105], ans[105], eps = 0.000001;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= n + 1; j++)
            cin >> a[i][j];
    for(int i = 1; i <= n; i++)
        for(int j = i + 1; j <= n; j++)   
        {
            double bet = -1.0 * a[j][i] / a[i][i];
            for(int k = 1; k <= n + 1; k++)
                a[j][k] += bet * a[i][k];
            /*
            for(int k = 1; k <= n; k++)
            {
            	for(int l = 1; l <= n + 1; l++)
            		cout << a[k][l] << " ";
            	cout << endl;
			}
			cout << endl;
			*/
        }
    for(int i = n; i >= 1; i--)
    {
        double sum = 0;
        for(int j = n; j >= i + 1; j--)
            sum += a[i][j] * ans[j];
        if(fabs(a[i][i]) < eps)
        {
            cout << "No Solution";
            return 0;
        }
        ans[i] = (a[i][n + 1] - sum) / a[i][i];
    }
    for(int i = 1; i <= n; i++)cout << fixed << setprecision(2) << ans[i] << endl;
    return 0;
}

/*
3
2 6 -4 3
1 5 -1 0
3 -1 1 6
*/
2024/6/19 14:21
加载中...