QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#134875#6634. Central SubsetPhantomThreshold#WA 36ms3784kbC++201.1kb2023-08-05 09:38:012023-08-05 09:38:04

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-05 09:38:04]
  • 评测
  • 测评结果:WA
  • 用时:36ms
  • 内存:3784kb
  • [2023-08-05 09:38:01]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
void mian()
{
	int n,m;
	cin>>n>>m;
	vector<int> pa(n+5);
	function<int(int)> find=[&](int x){return pa[x]?pa[x]=find(pa[x]):x;};
	vector<vector<int>> G(n+5);
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		int pu=find(u),pv=find(v);
		if(pu!=pv)
		{
			G[u].push_back(v),G[v].push_back(u);
			pa[pv]=pu;
		}
	}
	vector<int> dep(n+5);
	function<void(int)> dfs=[&](int u)
	{
		for(auto v:G[u])
		{
			if(not dep[v])
			{
				dep[v]=dep[u]+1;
				dfs(v);
			}
		}
	};
	dep[1]=1;
	dfs(1);
	int s=sqrt(n);
	while(s*s<n)s++;
//	cerr<<s<<endl;
	vector<vector<int>> dg(s+5);
	for(int i=1;i<=n;i++)
	{
		dg[dep[i]%s].push_back(i);
	}
	for(int i=0;i<s;i++)
	{
		if((int)dg[i].size()==0)
		{
			cout<<1<<"\n";
			cout<<1<<"\n";
			return;
		}
		if((int)dg[i].size()<=s)
		{
			cout<<dg[i].size()<<"\n";
			for(auto x:dg[i])
				cout<<x<<' ';
			cout<<"\n";
			return;
		}
	}
	return;
}
int main()
{
	ios_base::sync_with_stdio(false);
	int T;
	cin>>T;
	while(T--)
	{
		mian();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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
2 4 
2
3 5 

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 34ms
memory: 3536kb

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
4 8 12 
2
3 4 
2
4 8 
1
2 
1
2 
3
3 6 9 
1
2 
4
4 8 10 14 
3
4 13 14 
1
1
4
5 10 15 20 
2
3 8 
2
4 8 
3
6 7 8 
3
3 4 5 
3
4 8 12 
2
3 4 
1
2 
2
3 4 
1
1
2
2 4 
3
3 5 8 
4
4 8 10 14 
4
7 8 9 10 
1
1 
3
4 8 12 
2
3 5 
4
4 8 11 15 
1
2 
1
1 
4
5 10 15 20 
2
5 8 
4
4 8 10 14 
3
5 6 15 
1
1 
2
3 6 
1
3...

result:

ok correct (10000 test cases)

Test #3:

score: -100
Wrong Answer
time: 36ms
memory: 3784kb

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
45 90 135 180 225 270 315 360 405 450 495 540 585 630 675 720 765 810 855 900 945 990 1035 1080 1125 1170 1215 1260 1305 1350 1395 1440 1485 1530 1575 1620 1665 1710 1755 1800 1845 1890 1935 1980 
1
1
44
45 90 135 180 225 270 315 360 405 450 495 540 585 630 675 720 765 810 855 900 945 990 1044 10...

result:

wrong answer Condition failed: "getMaxBfsDist(n, subset) <= csqrtn" (test case 4)