30分求助
查看原帖
30分求助
810054
suzichen03楼主2023/11/9 21:57
#include<iostream>
#include<algorithm>
using namespace std;
double a[1001][1001],b[1001][1001];
struct hang
{
	double ar;
	double le;
	double zong;
}h[1001];
int ansa[1000001];
int ansb[1000001];
int main()
{
	int n,m;
	cin >> n >> m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin >> a[i][j];
			h[i].ar+=a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		double ar=h[i].ar;
		for(int j=1;j<=m;j++)
		{
			h[i].ar+=a[i][j]-ar/m;
		}
		h[i].ar=h[i].ar/m;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin >> b[i][j];
			h[i].le+=b[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		double le=h[i].le;
		for(int j=1;j<=m;j++)
		{
			h[i].le+=b[i][j]-le/m;
		}
		h[i].le=h[i].le/m;
		h[i].zong=h[i].le+h[i].ar;
	}
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=i;j<=n;j++)
		{
			int t1=0,t2=0;
			if(h[i].zong>h[j].zong)
			{
				swap(h[i].zong,h[j].zong);
				ansa[++ans]=i;
				ansb[ans]=j;
			}
		}
	}
	cout << ans << endl;
	for(int i=1;i<=ans;i++)
	{
		cout << ansa[i] << ' ' << ansb[i] << endl;
	}
	return 0;
}
2023/11/9 21:57
加载中...