Untitled
unknown
c_cpp
6 months ago
1.1 kB
2
Indexable
#include <bits/stdc++.h> using namespace std; int n; const int N = 200001; vector <int> V[N]; bool vis[N]; int ans = 0; void dfs(int s) { vis[s] = true; for (auto child : V[s]) { if (!vis[child]) { ans++; dfs(child); } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; while (t--) { memset(vis, false, sizeof(vis)); memset(V, 0, sizeof(V)); cin >> n; int m; cin >> m; while(m--) { int a, b, k; cin >> a >> b >> k; for (int i = 1; i <= k; i++) { V[a].push_back(a + i*b); V[a + i*b].push_back(a); } } int total = n; for(int i = 1; i <= n; i++) { if (!V[i].empty()) { ans = 0; dfs(i); total -= (ans); } } cout << total << "\n"; } return 0; }
Editor is loading...
Leave a Comment