#include<bits/stdc++.h> usingnamespace std; typedeflonglong ll; constint MAXN = 2e5 + 5e2; int bin[MAXN], sum[MAXN]; int res = 0; inlineintfind(int x){ if (x != bin[x]) { int temp = bin[x]; bin[x] = find(bin[x]); sum[x] += sum[temp]; } return bin[x]; } inlinevoidmerge(int a, int b, int val){ int fa = find(a); int fb = find(b); if (fa == fb) { if (sum[a] - sum[b] != val) { res++; } } else { bin[fa] = fb; sum[fa] = - sum[a] + sum[b] + val; //将fa接到fb下,即a与da的边作为反边减掉 } } intmain(){ ios::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); int n, m; while (cin >> n >> m) { for (int i = 0; i <= n; i++) { bin[i] = i; sum[i] = 0; } res = 0; for (int i = 0; i < m; i++) { int l, r, v; cin >> l >> r >> v;l--; merge(l, r, v); } cout << res << endl; } return0; }