Submission #73133180


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=200005,inf=2e9;
int read() {
	static int f=1,c=getchar(),x=0;
	for(f=1; c<=47||c>=58; c=getchar())f=f&&(c!=45);
	for(x=0; c>=48&&c<=57; c=getchar())x=(x<<3)+(x<<1)+(c&15);
	return f?x:-x;
}
void print(int x) {
	if(x>9)print(x/10);
	putchar((x%10)|48);
}
int n,m,dis[MAXN],tcnt;
bool vis[MAXN];
vector<pair<int,int>>vec[MAXN];
void dfs(int u) {
	vis[u]=true;
	for(pair<int,int>&tt:vec[u]) {
		int&v=tt.first,&w=tt.second;
		if(!vis[v]) {
			dis[v]=dis[u]^w;
			dfs(v);
		}
	}
}
struct Trie {
	int son[2];
} tr[MAXN*40];
int newnode() {
	++tcnt;
	tr[tcnt].son[0]=tr[tcnt].son[1]=0;
	return tcnt;
}
void Insert(int x) {
	for(int i=18,u=1; i>=0; --i) {
		int&v=tr[u].son[(x>>i)&1];
		if(!v) v=newnode();
		u=v;
	}
}
int query(int x) {
	int u=1,ans=0;
	for(int i=18; ~i; --i)
		if(tr[u].son[(~x>>i)&1])u=tr[u].son[(~x>>i)&1],ans|=1<<i;
		else u=tr[u].son[(x>>i)&1];
	return ans;
}
void solve() {
	tcnt=1,tr[1].son[0]=tr[1].son[1]=0;
	n=read(),m=read();
	for(int i=1,a,b,x; i<=m; ++i) {
		a=read(),b=read(),x=read();
		vec[a].emplace_back(b,x);
		vec[b].emplace_back(a,x);
	}
	dfs(1);
	for(int i=1; i<=n; ++i)Insert(dis[i]);
	int cnt=0,id=-1;
	for(int i=0; i<=n; ++i) 
		if(query(i)<=n) {
			++cnt,id=i;
		}
	if(n&1) {
		if(cnt!=1) printf("-1\n");
		else {
			for(int i=0; i<=n; ++i)vis[i]=false;
			for(int i=1; i<=n; ++i)vis[id^dis[i]]=true;
			for(int i=0; i<=n; ++i)
				if(!vis[i])printf("%d\n",i);
				else vis[i]=false;
		}
	} else if(cnt>0) {
		for(int i=0; i<=n; ++i)vis[i]=false;
		for(int i=1; i<=n; ++i)vis[id^dis[i]]=true;
		for(int i=0; i<=n; ++i)
			if(!vis[i])printf("%d\n",i);
			else vis[i]=false;
	} else printf("-1\n");
	for(int i=1; i<=n; ++i)vec[i].clear(),vis[i]=false;
}
int main() {
	int t=read();
	while(t--)solve();
	return 0;
}

Submission Info

Submission Time
Task B - Missing Number in Graph
User mod998244353
Language C++23 (GCC 15.2.0)
Score 500
Code Size 1917 Byte
Status AC
Exec Time 84 ms
Memory 25096 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 26
Set Name Test Cases
Sample sample-01.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, sample-01.txt
Case Name Status Exec Time Memory
01-01.txt AC 28 ms 3720 KiB
01-02.txt AC 28 ms 4100 KiB
01-03.txt AC 30 ms 4804 KiB
01-04.txt AC 31 ms 5124 KiB
01-05.txt AC 31 ms 5284 KiB
01-06.txt AC 32 ms 5452 KiB
01-07.txt AC 33 ms 5716 KiB
01-08.txt AC 39 ms 6868 KiB
01-09.txt AC 33 ms 6844 KiB
02-01.txt AC 74 ms 19916 KiB
02-02.txt AC 72 ms 19828 KiB
02-03.txt AC 15 ms 8896 KiB
02-04.txt AC 15 ms 9056 KiB
02-05.txt AC 54 ms 20160 KiB
02-06.txt AC 56 ms 19852 KiB
02-07.txt AC 81 ms 23236 KiB
02-08.txt AC 80 ms 21868 KiB
02-09.txt AC 84 ms 25096 KiB
02-10.txt AC 83 ms 24848 KiB
03-01.txt AC 56 ms 16340 KiB
03-02.txt AC 44 ms 14472 KiB
03-03.txt AC 45 ms 14284 KiB
03-04.txt AC 42 ms 14548 KiB
03-05.txt AC 50 ms 14292 KiB
03-06.txt AC 51 ms 14472 KiB
sample-01.txt AC 2 ms 3756 KiB