bzoj1202 狡猾的商人
Posted Achen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj1202 狡猾的商人相关的知识,希望对你有一定的参考价值。
并查集。
日常抄代码。
太强啦。
想起了当初那道LLJ跑spfa过的题。
orz sxy llj大佬
//Twenty
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
const int maxn=1000+299;
int flag,T,n,m,x,y,z,f[maxn],v[maxn];
using namespace std;
int find(int x) {
if(x==f[x]) return x;
else {
int tp=find(f[x]);
v[x]+=v[f[x]];
f[x]=tp;
return tp;
}
}
void add(int x,int y,int z) {
int p=find(x),q=find(y);
if(p!=q) {
f[p]=q;
v[p]=v[y]-v[x]-z;
}
else {
if(v[y]-v[x]!=z) flag=1;
}
}
int main() {
scanf("%d",&T);
while(T--) {
scanf("%d%d",&n,&m);
for(int i=0;i<=n;i++) f[i]=i,v[i]=0;
flag=0;
for(int i=1;i<=m;i++) {
scanf("%d%d%d",&x,&y,&z);
if(!flag) add(x-1,y,z);
}
if(flag) printf("false\\n");
else printf("true\\n");
}
return 0;
}
以上是关于bzoj1202 狡猾的商人的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ 1202 [HNOI2005]狡猾的商人(并查集)
BZOJ-1202: [HNOI2005]狡猾的商人 (并查集+前缀和)