Submission #3187540


Source Code Expand

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#include <limits.h>

int n,m,par[100000];
bool lang[100000][100000];

int find(int x){
    if (par[x]==x){
        return x;
    } else {
        return par[x]=find(par[x]);
    }
}

bool test(int x,int y){
    for (int i=0; i<m; i++){
        if (lang[x][i]==true && lang[y][i]==true){
            return true;
        }
    }
    return false;
}

void unite(int x, int y){
    x=find(x);
    y=find(y);
    if(x==y){
        return ;
    } else {
        if (test(x,y)==true){
            par[x]=y;
            for (int i=0; i<m; i++){
                if (lang[x][i]==true){
                    lang[y][i]=true;
                }
                if (lang[y][i]==true){
                    lang[x][i]=true;
                }
            }
        }
    }
}

bool same(int x, int y){
    if (find(x)==find(y)){
        return true;
    } else {
        return false;
    }
}

int main(void){
    scanf("%d%d",&n,&m);
    int k[n],l[n][m];
    for (int i=0; i<n; i++){
        scanf("%d",&k[i]);
        for (int j=0; j<k[i]; j++){
            scanf("%d",&l[i][j]);
            l[i][j]--;
            lang[i][l[i][j]]=true;
        }
    }
    for (int i=0; i<n; i++){
        par[i]=i;
    }
    for (int i=0; i<n-1; i++){
        unite(i,i+1);
    }
    for (int i=0; i<n-1; i++){
        unite(i,i+1);
    }    for (int i=0; i<n-1; i++){
        unite(i,i+1);
    }    for (int i=0; i<n-1; i++){
        unite(i,i+1);
    }    for (int i=0; i<n-1; i++){
        unite(i,i+1);
    }
    for (int i=0; i<n-1; i++){
        if (same(i,i+1)==false){
            printf("NO\n");
            return 0 ;
        }
    }
    printf("YES\n");
	return 0 ;
}

Submission Info

Submission Time
Task C - Interpretation
User SpokenLib
Language C (Clang 3.8.0)
Score 0
Code Size 1836 Byte
Status CE

Compile Error

/tmp/Main-a9c6fa.o: In function `find':
./Main.c:(.text+0x7): relocation truncated to fit: R_X86_64_32S against symbol `par' defined in COMMON section in /tmp/Main-a9c6fa.o
./Main.c:(.text+0x1d): relocation truncated to fit: R_X86_64_32S against symbol `par' defined in COMMON section in /tmp/Main-a9c6fa.o
/tmp/Main-a9c6fa.o: In function `test':
./Main.c:(.text+0x33): relocation truncated to fit: R_X86_64_PC32 against symbol `m' defined in COMMON section in /tmp/Main-a9c6fa.o
/tmp/Main-a9c6fa.o: In function `unite':
./Main.c:(.text+0x9e): relocation truncated to fit: R_X86_64_PC32 against symbol `m' defined in COMMON section in /tmp/Main-a9c6fa.o
./Main.c:(.text+0xee): relocation truncated to fit: R_X86_64_32S against symbol `par' defined in COMMON section in /tmp/Main-a9c6fa.o
/tmp/Main-a9c6fa.o: In function `main':
./Main.c:(.text+0x1df): relocation truncated to fit: R_X86_64_32 against symbol `m' defined in COMMON section in /tmp/Main-a9c6fa.o
./Main.c:(.text+0x214): relocation truncated to fit: R_X86_64_PC...