#include <bits/stdc++.h>
using namespace std;
int vt[1111][1300];
int st[1100][1100];
int vv[1100];
int minn = 1111111111, a, b, c, k, sum, f;
set<int> vc;
int main()
{
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++)
{
cin >> a >> b >> c;
vt[a][b] = 1;
vt[b][a] = 1;
st[a][b] = c;
st[b][a] = c;
}
int num, cnt = 0, ve = 0;
cin >> num;
for (int z = 1; z <= num; z++)
{
vc.clear();
f = 1;
sum = 0;
cin >> k;
for (int i = 0; i < k; i++)
{
cin >> vv[i];
vc.insert(vv[i]);
}
if (vt[vv[0]][0] == 0 || vt[vv[k - 1]][0] == 0 || vc.size() != n || k != n)
f = 0;
for (int j = 0; j < k - 1; j++)
{
if (vt[vv[j]][vv[j + 1]] == 0)
{
f = 0;
continue;
}
else if (f == 1)
sum += st[vv[j]][vv[j + 1]];
}
if (f == 1)
{
sum += st[0][vv[0]];
sum += st[0][vv[k - 1]];
cnt++;
//cout << z;
if (sum < minn)
{
minn = sum;
ve = z;
}
}
}
cout << cnt << endl;
cout << ve << " " << minn;
}
L2-036 网红点打卡攻略 (25 分)
最新推荐文章于 2022-04-18 17:28:31 发布