結果

問題 No.1420 国勢調査 (Easy)
ユーザー 👑 Nachia
提出日時 2021-03-12 16:00:16
言語 cLay
(20241019-1)
結果
MLE  
実行時間 -
コード長 458 bytes
コンパイル時間 1,974 ms
コンパイル使用メモリ 175,636 KB
実行使用メモリ 814,592 KB
最終ジャッジ日時 2024-07-05 15:06:58
合計ジャッジ時間 4,785 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other MLE * 1 -- * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

VI V(100000,-1),X(100000,0);
int root(int a){
	if(V[a]<0) return a;
	int p=V[a], r=root(p);
	V[a]=r; X[a]^=X[p];
	return r;
}
int merge(int r,int c,int y){
	int rr=root(r), rc=root(c);
	if(rr==rc) return X[r]^X[c]^y;
	if(V[rr]>V[rc]) swap(rr,rc); else if(V[rr]==V[rc]) V[rr]--;
	V[rc]=r; X[rc]=y^X[c];
	return 0;
}

int main(){
	int @N,@M;
	REP(M){
		int @a,@b,@y;
		if(merge(a-1,b-1,y)) printf("-1\n"), return 0;
	}
	rep(i,N) root(i),wt(X[i]);
	return 0;
}
0