0分求调
查看原帖
0分求调
1024296
YYPanda233楼主2024/9/25 21:54
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAXN 155

struct node
{
	int num, dist;
	string name;
}a[MAXN];
int n, ans = 114514, idx;

int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	while(1)
	{
		cin >> a[n].num >> a[n].dist >> a[n].name;
		if (a[n].dist == 0 && a[n].name == "Moscow") break;
		n++;
	}
	n++;
	for (int i = 0 ; i < n ; i++)
	{
		int tmp = 0;
		for (int j = 0 ; j < n ; j++)
		{
			if (i == j) continue;
			tmp += a[j].num * abs(a[j].dist - a[i].dist);
		}
		if(ans > tmp)
		{
			idx = i;
			ans = tmp;
		}
		if(ans == tmp)
		{
			if(a[idx].dist > a[i].dist)
			{
				idx = i;
			}
		}
	}
	cout << a[idx].name << " " << ans;
	return 0;
}

样例没问题

自己造的样例也没问题

intput:

19 5 A

1 1 B

25 3 C

10 0 Moscow

output:

C 70

有回必关,求调

2024/9/25 21:54
加载中...