2 条题解
-
0
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define INF 0x3f3f3f3f #define lowbit(x) (x & -x) #define pii pair<int, int> #define N 1000010 int T, n, m; int dad[N]; ll dst[N];// 父节点和距离 bool flag;// 答案 int s, t, fs, ft; ll w; int find(const int &x) { if (dad[x] == x) return x; int tmp = dad[x]; dad[x] = find(dad[x]); dst[x] += dst[tmp]; return dad[x]; } inline void merge(int x, int y, const ll &w) { // x 和 y 已经找好了 dad[x] = y; dst[x] = w; } // 输入函数 void input() { scanf("%d%d", &n, &m); for (int i = 1; i <= n + 1; ++i) dad[i] = i, dst[i] = 0; flag = 0; } // 处理函数 void solve() { while (m--) { scanf("%d%d%lld", &s, &t, &w); ++t; // 合并 fs = find(s), ft = find(t); if (fs == ft) { if (dst[s] - dst[t] != w) flag = 1; // 不合法 continue; } // 合并 merge(ft, fs, dst[s] - w - dst[t]); } } // 输出函数 void output() { if (flag) printf("False\n"); else printf("True\n"); } // 主函数 int main() { scanf("%d", &T); while (T--) { input(); solve(); output(); } return 0; } -
0
#include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define INF 0x3f3f3f3f #define lowbit(x) (x&-x) #define pii pair<int,int> #define N 1000010 int T,n,m; int dad[N]; ll dst[N];// 父节点和距离 bool flag;// 答案 int s,t,fs,ft; ll w; int find(const int &x){ if(dad[x] == x)return x; int tmp = dad[x]; dad[x] = find(dad[x]); dst[x] += dst[tmp]; return dad[x]; } inline void merge(int x,int y,const ll &w){ // x 和 y 已经找好了 dad[x] = y; dst[x] = w; } // 输入函数 void input(){ scanf("%d%d",&n,&m); for(int i = 1;i <= n+1;++i)dad[i] = i,dst[i] = 0; flag = 0; } // 处理函数 void solve(){ while(m--){ scanf("%d%d%lld",&s,&t,&w); ++t; // 合并 fs = find(s),ft = find(t); if(fs == ft){ if(dst[s] - dst[t] != w)flag = 1;// 不合法 continue; } // 合并 merge(ft,fs,dst[s] - w - dst[t]); } } // 输出函数 void output(){ if(flag)printf("False\n"); else printf("True\n"); } // 主函数 int main(){ scanf("%d",&T); while(T--){ input(); solve(); output(); } return 0; }
- 1
信息
- ID
- 2855
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 8
- 已通过
- 2
- 上传者