求调 B3675 50pts
查看原帖
求调 B3675 50pts
388651
5k_sync_closer楼主2022/10/17 18:22
#include <cstdio>
#include <algorithm>
using namespace std;
int n, m, c, a[1050], p[1000050], q[1000050];double x, f[1050];
int main()
{
	scanf("%d%d", &n, &m);
	for(int i = 1;i <= n;++i)
	{
		x = 0;
		for(int j = 1;j <= m;++j)
			scanf("%d", &a[j]), x += a[j];
		x /= m;
		for(int j = 1;j <= m;++j)
			f[i] += (a[j] - x) * (a[j] - x);
	}
	for(int i = 1;i <= n;++i)
	{
		x = 0;
		for(int j = 1;j <= m;++j)
			scanf("%d", &a[j]), x += a[j];
		x /= m;
		for(int j = 1;j <= m;++j)
			f[i] += (a[j] - x) * (a[j] - x);
	}
	for(int i = 1;i < n;++i)
		for(int j = 1;j + i <= n;++j)
			if(f[j] > f[j + 1])
				swap(f[j], f[j + 1]), p[c] = j, q[c++] = j + 1;
	printf("%d\n", c);
	for(int i = 0;i < c;++i)
		printf("%d %d\n", p[i], q[i]);
	return 0;
}
2022/10/17 18:22
加载中...