276102026-05-09 15:22:23LazurAndrasVarázserdőcpp17Elfogadva 100/1001.394s133944 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e9+7;

signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
	int n, m; cin >> n >> m;
	int ans = 0;
	vector<array<int, 3>>edge(m);
	for(auto &[d, u, v] : edge)
	{
		cin >> u >> v >> d; u--; v--;
	}
	sort(edge.begin(), edge.end());
	vector<map<int, int>>dp(n);
	for(auto [d, u, v] : edge)
	{
		dp[u][d] += 1;
		dp[v][d] += 1;
		if(dp[u].count(d-1))
		{
			dp[v][d] += dp[u][d-1];
			dp[v][d] %= INF;
			ans += dp[u][d-1];
			ans %= INF;
		}
		if(dp[v].count(d-1))
		{
			dp[u][d] += dp[v][d-1];
			dp[u][d] %= INF;
			ans += dp[v][d-1];
			ans %= INF;
		}
		ans = (ans+1) % INF;
	}
	cout << ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
subtask27/7
4Elfogadva1ms316 KiB
5Elfogadva2ms564 KiB
6Elfogadva8ms2432 KiB
7Elfogadva8ms2412 KiB
8Elfogadva546ms106660 KiB
9Elfogadva637ms106548 KiB
10Elfogadva507ms106552 KiB
11Elfogadva566ms106684 KiB
12Elfogadva467ms106548 KiB
13Elfogadva462ms106548 KiB
subtask39/9
14Elfogadva1ms316 KiB
15Elfogadva2ms564 KiB
16Elfogadva89ms17968 KiB
17Elfogadva418ms41524 KiB
18Elfogadva1.309s131636 KiB
19Elfogadva882ms98356 KiB
20Elfogadva759ms99888 KiB
subtask414/14
21Elfogadva1ms508 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms512 KiB
subtask520/20
25Elfogadva2ms564 KiB
26Elfogadva4ms1172 KiB
27Elfogadva4ms820 KiB
28Elfogadva4ms1076 KiB
29Elfogadva4ms1108 KiB
30Elfogadva4ms1332 KiB
31Elfogadva4ms820 KiB
32Elfogadva4ms820 KiB
subtask650/50
33Elfogadva9ms2360 KiB
34Elfogadva119ms20788 KiB
35Elfogadva693ms42228 KiB
36Elfogadva757ms44980 KiB
37Elfogadva1.22s119608 KiB
38Elfogadva1.356s127540 KiB
39Elfogadva1.129s133944 KiB
40Elfogadva1.009s125492 KiB
41Elfogadva1.394s81716 KiB