QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#139679#6634. Central Subsetsyx2567RE 296ms12664kbC++141.5kb2023-08-14 10:21:052023-08-14 10:21:07

Judging History

你现在查看的是最新测评结果

  • [2023-08-14 10:21:07]
  • 评测
  • 测评结果:RE
  • 用时:296ms
  • 内存:12664kb
  • [2023-08-14 10:21:05]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int T,n,m,B,cnt,ans[N];
int vis[N];
vector <int> g[N],g2[N];
vector <int> ::iterator it;
void init()
{
	cnt=0;
	for(int i=1;i<=n;i++) g[i].clear(),g2[i].clear();
	for(int i=1;i<=n;i++) vis[i]=0;
}
void dfs(int x,int f)
{
//	printf("%d %d\n",x,f);
	if(x!=1)
	{
		g2[x].push_back(f);
		g2[f].push_back(x);
	}
	vis[x]=1;
	for(int i=0;i<g[x].size();i++)
	{
		int v=g[x][i];
		if(vis[v]) continue;
		dfs(v,x);
	}
}
int fa[N],dep[N],pos[N];
void dfs2(int x,int f)
{
	fa[x]=f;
	dep[x]=dep[f]+1;
	pos[x]=x;
	for(int i=0;i<g2[x].size();i++)
	{
		int v=g2[x][i];
		if(v==f) continue;
		dfs2(v,x);
		if(dep[pos[v]]>dep[pos[x]]) pos[x]=pos[v];
	}
}
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&n,&m);
		init();
		for(int i=1;i<=m;i++)
		{
			int u,v;
			scanf("%d%d",&u,&v);
			g[u].push_back(v);
			g[v].push_back(u);
		}
		dfs(1,0);
		B=ceil(sqrt(n));
//		printf("%d\n",B);
//		for(int i=1;i<=n;i++)
//			for(int j=0;j<g2[i].size();j++) printf("%d %d\n",i,g2[i][j]);
		int now=1;
		while(1)
		{
			dfs2(now,0);
			int rt=pos[now];
			dfs2(rt,0);
			int x=pos[rt];
			for(int i=1;i<=B;i++) x=fa[x];
//			printf("%d %d %d %d\n",now,rt,pos[rt],x);
			if(x==0||x==rt){ans[++cnt]=rt;break;}
			ans[++cnt]=x;
			g2[fa[x]].erase(find(g2[fa[x]].begin(),g2[fa[x]].end(),x));
			now=fa[x];
		}
		printf("%d\n",cnt);
		for(int i=1;i<=cnt;i++) printf("%d ",ans[i]);
		printf("\n");
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 8544kb

input:

2
4 3
1 2
2 3
3 4
6 7
1 2
2 3
3 1
1 4
4 5
5 6
6 4

output:

2
3 4 
2
4 6 

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 13ms
memory: 8712kb

input:

10000
15 14
13 12
5 4
9 8
11 12
15 14
10 9
14 13
2 3
2 1
6 5
10 11
3 4
7 6
8 7
6 5
2 1
2 4
4 6
2 3
3 5
10 9
8 3
9 4
5 6
5 10
3 2
5 4
2 7
1 2
4 3
2 1
2 1
2 1
2 1
9 8
9 8
5 4
1 2
6 5
3 4
3 2
7 8
7 6
2 1
1 2
14 13
3 10
5 6
2 9
11 4
2 3
2 1
8 7
13 6
5 4
5 12
6 7
4 3
7 14
16 15
2 3
2 1
6 10
6 9
6 4
9 11
...

output:

3
5 10 15 
2
4 6 
2
5 6 
1
2 
1
2 
3
4 8 9 
1
2 
2
5 8 
2
6 16 
1
14 
4
6 12 18 20 
2
4 8 
2
5 10 
2
10 16 
1
4 
3
5 10 15 
2
4 7 
1
2 
2
4 9 
1
5 
2
3 4 
2
4 8 
2
5 14 
2
8 18 
1
3 
3
5 10 15 
2
3 4 
2
5 16 
1
3 
1
6 
4
6 12 18 21 
2
8 11 
2
5 14 
2
6 16 
1
4 
2
4 6 
2
4 6 
2
5 7 
3
6 7 21 
1
7 
3
...

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 61ms
memory: 8940kb

input:

100
2000 1999
529 528
885 884
1221 1222
375 374
245 244
758 757
711 710
1521 1522
1875 1874
749 750
823 822
1959 1958
1767 1766
155 154
631 632
825 824
1330 1331
457 456
1344 1343
1817 1818
413 414
582 583
1828 1827
1335 1336
654 655
162 161
1668 1667
1966 1967
1472 1471
1185 1184
518 517
1509 1510
...

output:

44
46 92 138 184 230 276 322 368 414 460 506 552 598 644 690 736 782 828 874 920 966 1012 1058 1104 1150 1196 1242 1288 1334 1380 1426 1472 1518 1564 1610 1656 1702 1748 1794 1840 1886 1932 1978 2000 
1
1983 
23
46 91 136 181 226 271 316 361 406 451 496 541 586 631 676 721 766 811 856 901 946 991 10...

result:

ok correct (100 test cases)

Test #4:

score: 0
Accepted
time: 296ms
memory: 12664kb

input:

10
14914 14913
13959 13958
3643 3642
4582 4581
13378 13379
981 980
12901 12902
12355 12356
14692 14691
9670 9669
14632 14631
1441 1440
1367 1368
6237 6238
8297 8298
1021 1020
5096 5097
4773 4774
7778 7779
3013 3014
5536 5535
11621 11620
13904 13903
3050 3049
14179 14178
7471 7472
13380 13381
7403 74...

output:

121
124 248 372 496 620 744 868 992 1116 1240 1364 1488 1612 1736 1860 1984 2108 2232 2356 2480 2604 2728 2852 2976 3100 3224 3348 3472 3596 3720 3844 3968 4092 4216 4340 4464 4588 4712 4836 4960 5084 5208 5332 5456 5580 5704 5828 5952 6076 6200 6324 6448 6572 6696 6820 6944 7068 7192 7316 7440 7564...

result:

ok correct (10 test cases)

Test #5:

score: 0
Accepted
time: 55ms
memory: 11428kb

input:

10
20000 19999
6831 6760
15763 15900
10362 10184
5821 5880
17555 17389
16708 16574
11592 11436
186 209
19380 19313
8867 8718
12100 12237
16245 16110
18464 18568
4713 4665
17412 17578
18666 18750
4360 4322
12350 12502
4054 4103
2874 2849
8097 8202
14489 14639
1056 1016
13500 13581
2435 2391
199 173
8...

output:

6
1143 2011 6615 8318 19216 20000 
5
176 2729 8283 13301 20000 
4
3724 10026 15746 20000 
6
9863 2703 3873 9997 18494 20000 
8
14623 8672 1288 3081 8081 12009 17913 20000 
6
4075 2326 6159 14406 19409 20000 
7
972 547 6581 9157 15481 19558 19999 
6
5415 2004 6192 5623 18312 19999 
6
1025 27 1588 763...

result:

ok correct (10 test cases)

Test #6:

score: -100
Runtime Error

input:

1
200000 199999
136649 136648
44943 44944
7148 7149
50332 50333
149967 149966
28976 28975
78549 78550
178698 178697
96434 96433
7859 7858
88976 88977
23348 23347
161682 161681
125393 125392
67892 67893
73592 73593
179054 179055
110841 110842
163714 163715
7982 7981
56309 56310
196486 196485
19176 19...

output:


result: