QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#384949#6845. Tax369PaiWA 1ms3644kbC++14992b2024-04-10 14:04:112024-04-10 14:04:13

Judging History

你现在查看的是最新测评结果

  • [2024-04-10 14:04:13]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3644kb
  • [2024-04-10 14:04:11]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 55 , M = 1300;
int n , m , d[N] , cnt[M] , w[M] , ans[N];
vector<pair<int , int> >g[N]; bool vis[N];
void Dfs(int u , int dis)
{
	ans[u] = min(ans[u] , dis) , vis[u] = 1;
	for(auto [v , c] : g[u])
		if(!vis[v] && d[u] + 1 == d[v])
			Dfs(v , dis + w[c] * ++cnt[c]) , cnt[c]--;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0) , cout.tie(0);
	cin >> n >> m;
	for(int i = 1 ; i <= m ; i++)
		cin >> w[i];
	for(int i = 1 ; i <= m ; i++)
	{
		int u , v , c; cin >> u >> v >> c;
		g[u].push_back({v , c});
		g[v].push_back({u , c});
	}
	memset(d , 0x3f , sizeof d);
	queue<int>q; q.push(1) , d[1] = 0;
	while(!q.empty())
	{
		int u = q.front(); q.pop();
		for(auto [v , c] : g[u])
			if(d[u] + 1 < d[v])
			{
				d[v] = d[u] + 1;
				q.push(v);
			}
	}
	memset(ans , 0x3f , sizeof ans);
	Dfs(1 , 0);
	for(int i = 2 ; i <= n ; i++)
		cout << ans[i] << "\n";
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3632kb

input:

5 6
1 8 2 1 3 9
1 2 1
2 3 2
1 4 1
3 4 6
3 5 4
4 5 1

output:

1
9
1
3

result:

ok 4 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 3644kb

input:

10 15
730 2163 6818 4647 9699 1037 2034 8441 2619 6164 464 4369 4500 6675 1641
1 6 2
3 6 1
3 2 1
9 2 2
7 3 1
6 5 1
5 3 2
3 10 1
10 2 2
5 10 1
8 2 2
9 8 1
7 4 2
4 5 2
4 10 2

output:

4353
2893
7219
2893
2163
4353
8679
8679
4353

result:

ok 9 lines

Test #3:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

10 15
847 2302 8846 8055 585 6541 6493 7165 5376 8551 836 2993 2700 9323 5119
2 1 5
2 3 3
3 10 3
10 4 3
8 3 4
10 8 1
3 7 3
4 5 3
5 8 5
6 3 3
8 6 2
6 5 4
9 10 2
7 9 4
5 9 4

output:

585
9431
53661
18656
27123
27123
17486
29425
27123

result:

ok 9 lines

Test #4:

score: -100
Wrong Answer
time: 0ms
memory: 3496kb

input:

20 30
4547 9278 5093 443 7292 7570 7138 9315 4114 723 9854 9584 294 1861 5478 2734 5967 7102 6137 9504 456 7980 9645 6571 336 5308 1035 8008 3128 4035
7 1 2
11 7 1
11 12 2
12 10 2
10 5 2
20 5 1
20 17 2
17 16 2
16 18 1
7 19 3
19 12 1
2 18 2
3 7 1
12 3 1
19 3 1
13 11 1
12 13 1
19 13 1
13 3 2
18 15 2
8...

output:

287066
13825
166452
97327
37474
9278
41475
65308
60215
13825
32381
22919
24557
287066
208479
152811
222120
14371
106421

result:

wrong answer 1st lines differ - expected: '166078', found: '287066'