10635 2024. 04. 07 14:58:13 111 Varázserdő cpp17 Hibás válasz 34/100 4ms 3780 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

#define MOD 1000000007

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M;
	cin>>N>>M;
	if(N>1000||M>5000)exit(1);
	vector<tuple<int,int,int>>e(M);
	for(int i=0;i<M;i++){
		int a,b,c;
		cin>>a>>b>>c;
		e[i]={c,a,b};
	}
	sort(e.begin(),e.end());
	int ans=0;
	vector<int>v(N+1),w(N+1);
	for(int i=0;i<M;i++){
		auto[c,a,b]=e[i];
		w[a]+=v[b]+1;
		w[a]%=MOD;
		w[b]+=v[a]+1;
		w[b]%=MOD;
		int cc=i+1==M?MOD:get<0>(e[i+1]);
		if(c!=cc){
			for(int i=1;i<=N;i++){
				if(c+1==cc){
					v[i]=w[i];
				}
				ans+=w[i];
				ans%=MOD;
				w[i]=0;
			}
		}
	}
	ans+=MOD-M;
	ans%=MOD;
	cout<<ans<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 2100 KiB
2 Elfogadva 3ms 2080 KiB
3 Elfogadva 3ms 2320 KiB
subtask2 0/7
4 Hibás válasz 3ms 2380 KiB
5 Elfogadva 3ms 2760 KiB
6 Futási hiba 3ms 2704 KiB
7 Futási hiba 3ms 2928 KiB
8 Futási hiba 3ms 3108 KiB
9 Futási hiba 2ms 3184 KiB
10 Futási hiba 2ms 3172 KiB
11 Futási hiba 2ms 3168 KiB
12 Futási hiba 2ms 3176 KiB
13 Futási hiba 2ms 3276 KiB
subtask3 0/9
14 Elfogadva 2ms 3276 KiB
15 Elfogadva 3ms 3316 KiB
16 Futási hiba 2ms 3324 KiB
17 Futási hiba 2ms 3224 KiB
18 Futási hiba 2ms 3240 KiB
19 Futási hiba 3ms 3412 KiB
20 Futási hiba 2ms 3372 KiB
subtask4 14/14
21 Elfogadva 2ms 3476 KiB
22 Elfogadva 2ms 3464 KiB
23 Elfogadva 2ms 3468 KiB
24 Elfogadva 2ms 3464 KiB
subtask5 20/20
25 Elfogadva 3ms 3568 KiB
26 Elfogadva 4ms 3632 KiB
27 Elfogadva 4ms 3628 KiB
28 Elfogadva 4ms 3728 KiB
29 Elfogadva 4ms 3780 KiB
30 Elfogadva 4ms 3736 KiB
31 Elfogadva 4ms 3744 KiB
32 Elfogadva 4ms 3752 KiB
subtask6 0/50
33 Futási hiba 2ms 3528 KiB
34 Futási hiba 2ms 3532 KiB
35 Futási hiba 2ms 3448 KiB
36 Futási hiba 2ms 3448 KiB
37 Futási hiba 2ms 3552 KiB
38 Futási hiba 2ms 3656 KiB
39 Futási hiba 2ms 3616 KiB
40 Futási hiba 2ms 3720 KiB
41 Futási hiba 2ms 3620 KiB