#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
const int N = 1210, M = 15;
int n, m, k, ds;
unordered_map<string, int> var;
unordered_map<int, string> local;
vector<pair<int, int>> g[N];
int dist[N];
bool st[N];
struct Z{
int d;
double aver;
int var;
};
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
for (int i = 1; i <= 10; i++) {
string v = "G" + to_string(i);
var[v] = i + 1000;
local[i + 1000] = v;
}
cin >> n >> m >> k >> ds;
for (int i = 0; i < k; i++) {
string a, b;
int w;
cin >> a >> b >> w;
int aa, bb;
if (a[0] == 'G') {
aa = var[a];
} else aa = stoi(a);
if (b[0] == 'G') {
bb = var[b];
} else bb = stoi(b);
g[aa].push_back({bb, w});
g[bb].push_back({aa, w});
}
int res1 = -1;
double resmindist = -1, resaver = 1e9;
for (int i = 1; i <= m; i++) {
int ljvar = i + 1000;
memset(dist, 0x3f, sizeof dist);
memset(st, false, sizeof st);
priority_queue<pii, vector<pii>, greater<pii>> heap;
dist[ljvar] = 0;
heap.push({dist[ljvar], ljvar});
while (heap.size()) {
auto t = heap.top();
heap.pop();
int u = t.second;
if (st[u]) continue;
st[u] = true;
for (auto itr : g[u]) {
int v = itr.first, w = itr.second;
if (dist[v] > dist[u] + w) {
dist[v] = dist[u] + w;
heap.push({dist[v], v});
}
}
}
int d = 0;
bool ok = 1;
int mindist = 1e9;
for (int j = 1; j <= n; j++) {
if (dist[j] == 0x3f3f3f3f || dist[j] > ds) {
ok = 0;
continue;
}
d += dist[j];
mindist = min(mindist, dist[j]);
}
double av = 1.0 * d / (1.0 * n);
if (!ok) continue;
if (resmindist < mindist) {
resmindist = mindist;
res1 = ljvar;
resaver = av;
} else if (resmindist == mindist) {
if (resaver > av) {
res1 = ljvar;
resaver = av;
}
}
}
if (res1 == -1) cout << "No Solution";
else {
cout << local[res1] << "\n";
cout << fixed << setprecision(1) << resmindist << " " << resaver;
}
cout << "\n";
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端