社区讨论
90分,#3WA,求调
P1955[NOI2015] 程序自动分析参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lw4k4zv8
- 此快照首次捕获于
- 2024/05/13 14:02 2 年前
- 此快照最后确认于
- 2024/05/13 18:35 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int t;
bool ok,e;
long long x[100005],y[100005];
unordered_map <int,int> fa;
int Findi(int x)
{
if(fa[x]==x)
{
return x;
}
return fa[x]=Findi(fa[x]);
}
int Find(int x)
{
if(fa.find(x)==fa.end())
{
fa.insert({x,x});
}
return Findi(x);
}
void Union(int x,int y)
{
int a=Find(x);
int b=Find(y);
if(a!=b)
fa[b]=a;
}
int main()
{
cin>>t;
while(t--)
{
int n,cnt=0;
ok=true;
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x[cnt]>>y[cnt]>>e;
cnt+=!e;
if(e)
{
Union(x[cnt],y[cnt]);
}
}
while(cnt--)
{
if(Find(x[cnt])==Find(y[cnt]))
{
cnt=(ok=false);
}
}
if(ok)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...