莫名RE
查看原帖
莫名RE
556955
123wbl楼主2024/10/23 20:02
#include<iostream>
using namespace std;
int n,fa[1000001],k,ans;
int find(int x)
{
    if(fa[x]==x) return x;
    else fa[x]=find(fa[x]);
}
inline void merge(int x,int y)
{
    x=find(x),y=find(y);
    fa[y]=x;
}
inline bool check(int x,int y)
{
    x=find(x),y=find(y);
    if(x==y) return true;
    else return false;
}
int main()
{
    std::cin.tie(0)->sync_with_stdio(false);
    cin>>n>>k;
    for(int i=1;i<=n*3;i++)
        fa[i]=i;
    for(int i=1;i<=k;i++)
    {
        int opt,x,y;
        cin>>opt>>x>>y;
        if(x>n||y>n)
        {ans++;continue;}
        if(opt==1)
        {
            if(check(x+n,y)||check(x,y+n))
                ans++;
            else
                merge(x,y),merge(x+n,y+n),merge(x+2*n,y+2*n);
        }
        if(opt==2)
        {
            if(check(x,y)||check(x,y+n)) ans++;
            else merge(x+n,y),merge(x+2*n,y+n),merge(x,y+2*n);
        }
    }
    cout<<ans;
}

数组够大,A了点3,第一个点就样例,本地过了交上去没过RE了,下载了数据发现没空格和换行,会有影响吗,给我干懵了

2024/10/23 20:02
加载中...