Cod sursa(job #3272092)

Utilizator sheesh07Andrei Giurgiu sheesh07 Data 28 ianuarie 2025 12:55:58
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");

struct elem
{
    int s,d;
}x[100100];

int main()
{
    int n, m, t[100100], as, ad, z;
    cin>>n>>m;
    for(int i=1;i<=n;i++) t[i]=i;
    for(int i=1;i<=m;i++)
    {
        cin>>z>>x[i].s>>x[i].d;
        if(z==1)
        {
            if(t[x[i].s]!=t[x[i].d])
            for(int i=1;i<=m;i++)
            {
                as=t[x[i].s];
                ad=t[x[i].d];
                for(int j=1;j<=n;j++) if(t[j]==ad) t[j]=as;
            }
        }
        else
        {
            if(t[x[i].s]==t[x[i].d]) cout<<"DA"<<'\n';
            else cout<<"NU"<<'\n';
        }
    }
    return 0;
}