QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#557504#9241. Sphinxzhouhuanyi#3 6ms4072kbC++173.4kb2024-09-11 10:00:412024-09-11 10:00:41

Judging History

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

  • [2024-09-11 10:00:41]
  • 评测
  • 测评结果:3
  • 用时:6ms
  • 内存:4072kb
  • [2024-09-11 10:00:41]
  • 提交

answer

#include "sphinx.h"
#include<iostream>
#include<cstdio>
#include<vector>
#define N 250
using namespace std;
int n,srt,depth[N+1],fa[N+1],rt[N+1],tong[N+1],tong2[N+1],length,length2,lg[N+1],st[N+1],leng,A[N+1],B[N+1];
vector<int>E[N+1];
bool used[N+1],vis[N+1];
int find(int x)
{
	if (rt[x]==x) return x;
	return rt[x]=find(rt[x]);
}
void unionn(int x,int y)
{
	rt[x]=y;
	return;
}
void add(int x,int y)
{
	E[x].push_back(y),E[y].push_back(x);
	return;
}
void dfs(int x)
{
	if (!(depth[x]&1)) tong[++length]=x;
	else tong2[++length2]=x;
	used[x]=1;
	for (int i=0;i<E[x].size();++i)
		if (!used[E[x][i]])
			fa[E[x][i]]=x,depth[E[x][i]]=depth[x]+1,dfs(E[x][i]);
	return;
}
int calc(int x,int type)
{
	vector<int>v(n);
	for (int i=0;i<n;++i) v[i]=n;
	for (int i=0;i<n;++i) vis[i]=0;
	if (!type)
	{
		for (int i=1;i<=x;++i) v[tong[i]]=-1;
	}
	else
	{
		for (int i=1;i<=x;++i) v[tong2[i]]=-1;
	}
	int d=perform_experiment(v),cnt=0;
	for (int i=0;i<n;++i)
		if (v[i]==n)
			rt[i]=i,cnt++;
	for (int i=0;i<n;++i)
		if (v[i]==n)
		{
			for (int j=0;j<E[i].size();++j)
				if (v[E[i][j]]==n&&find(i)!=find(E[i][j]))
					unionn(find(i),find(E[i][j])),cnt--;
		}
	return d-cnt;
}
int solve(int x,int type)
{
	int d,cnt=0;
	if (!type) d=A[x];
	else d=B[x];
	for (int i=0;i<n;++i) vis[i]=0;
	for (int i=1;i<=leng;++i) vis[st[i]]=1;
	for (int i=0;i<n;++i)
		if (vis[i])
			rt[i]=i,cnt++;
	for (int i=0;i<n;++i)
		if (vis[i])
		{
			for (int j=0;j<E[i].size();++j)
				if (vis[E[i][j]]&&find(i)!=find(E[i][j]))
					unionn(find(i),find(E[i][j])),cnt--;
		}
	return d-cnt;
}
int get(int x,int type)
{
	vector<int>v(n);
	for (int i=0;i<n;++i) v[i]=n;
	for (int i=0;i<n;++i) vis[i]=0;
	if (!type)
	{
		for (int i=1;i<=x;++i)
		{
			v[tong[i]]=-1;
			for (int j=0;j<E[tong[i]].size();++j)
				if (fa[E[tong[i]][j]]==tong[i]||fa[tong[i]]==E[tong[i]][j])
					vis[E[tong[i]][j]]=1;
		}
	}
	else
	{
		for (int i=1;i<=x;++i)
		{
			v[tong2[i]]=-1;
			for (int j=0;j<E[tong2[i]].size();++j)
				if (fa[E[tong2[i]][j]]==tong2[i]||fa[tong2[i]]==E[tong2[i]][j])
					vis[E[tong2[i]][j]]=1;
		}
	}
	for (int i=1;i<=leng;++i) v[st[i]]=n;
	for (int i=0;i<n;++i)
		if (vis[i])
			v[i]=srt;
	int d=perform_experiment(v),cnt=0;
	for (int i=0;i<n;++i)
		if (v[i]==srt||v[i]==n)
			rt[i]=i,cnt++;
	for (int i=0;i<n;++i)
		if (v[i]==srt||v[i]==n)
		{
			for (int j=0;j<E[i].size();++j)
				if (v[E[i][j]]==v[i]&&find(i)!=find(E[i][j]))
					unionn(find(i),find(E[i][j])),cnt--;
		}
	return d-cnt;
}
std::vector<int> find_colours(int SN, std::vector<int> X, std::vector<int> Y) {
	vector<int>G(SN);
	int ps;
	n=SN;
	for (int i=2;i<=N;++i) lg[i]=lg[i>>1]+1;
	for (int i=0;i<X.size();++i) add(X[i],Y[i]);
	fa[0]=-1,dfs(0);
	for (int i=1;i<=length;++i) A[i]=calc(i,0);
	for (int i=1;i<=length2;++i) B[i]=calc(i,1);
	for (int i=0;i<n;++i)
	{
		srt=i,ps=leng=0;
		while (ps<=length)
		{
			for (int j=lg[length];j>=0;--j)
				if (ps+(1<<j)<=length&&get(ps+(1<<j),0)==solve(ps+(1<<j),0))
					ps+=(1<<j);
			ps++;
			if (ps<=length) st[++leng]=tong[ps],G[tong[ps]]=i;
		}
	}
	for (int i=0;i<n;++i)
	{
		srt=i,ps=leng=0;
		while (ps<=length2)
		{
			for (int j=lg[length2];j>=0;--j)
				if (ps+(1<<j)<=length2&&get(ps+(1<<j),1)==solve(ps+(1<<j),1))
					ps+=(1<<j);
			ps++;
			if (ps<=length2) st[++leng]=tong2[ps],G[tong2[ps]]=i;
		}
	}
	return G;
}

详细

Subtask #1:

score: 3
Accepted

Test #1:

score: 3
Accepted
time: 0ms
memory: 3812kb

input:

1978433568
2
1
0
1
1978433568
2
1978433568
2
1978433568
1
1978433568
2
1978433568
1
1978433568
2

output:

877694080
-1
2
877694080
2
-1
877694080
-1
0
877694080
-1
1
877694080
0
-1
877694080
1
-1
877694081
0
0

result:

ok #experiments: 6

Test #2:

score: 3
Accepted
time: 1ms
memory: 3788kb

input:

1978433568
2
1
0
1
1978433568
2
1978433568
2
1978433568
1
1978433568
2
1978433568
2
1978433568
1

output:

877694080
-1
2
877694080
2
-1
877694080
-1
0
877694080
-1
1
877694080
0
-1
877694080
1
-1
877694081
0
1

result:

ok #experiments: 6

Test #3:

score: 3
Accepted
time: 1ms
memory: 4040kb

input:

1978433568
2
1
0
1
1978433568
2
1978433568
2
1978433568
2
1978433568
1
1978433568
1
1978433568
2

output:

877694080
-1
2
877694080
2
-1
877694080
-1
0
877694080
-1
1
877694080
0
-1
877694080
1
-1
877694081
1
0

result:

ok #experiments: 6

Test #4:

score: 3
Accepted
time: 1ms
memory: 4072kb

input:

1978433568
2
1
0
1
1978433568
2
1978433568
2
1978433568
2
1978433568
1
1978433568
2
1978433568
1

output:

877694080
-1
2
877694080
2
-1
877694080
-1
0
877694080
-1
1
877694080
0
-1
877694080
1
-1
877694081
1
1

result:

ok #experiments: 6

Subtask #2:

score: 0
Wrong Answer

Dependency #1:

100%
Accepted

Test #5:

score: 7
Accepted
time: 5ms
memory: 3796kb

input:

1978433568
50
49
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
19784335...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 542

Test #6:

score: 7
Accepted
time: 4ms
memory: 3808kb

input:

1978433568
49
48
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
1978433568
2
1...

output:

877694080
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
877694080
-1
49
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
4...

result:

ok #experiments: 484

Test #7:

score: 7
Accepted
time: 5ms
memory: 3788kb

input:

1978433568
50
49
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
19784335...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 545

Test #8:

score: 7
Accepted
time: 4ms
memory: 3868kb

input:

1978433568
49
48
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
1978433568
2
1...

output:

877694080
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
877694080
-1
49
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
4...

result:

ok #experiments: 491

Test #9:

score: 7
Accepted
time: 0ms
memory: 3792kb

input:

1978433568
50
49
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
19784335...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 541

Test #10:

score: 7
Accepted
time: 1ms
memory: 3844kb

input:

1978433568
49
48
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
1978433568
2
1...

output:

877694080
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
877694080
-1
49
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
4...

result:

ok #experiments: 495

Test #11:

score: 7
Accepted
time: 0ms
memory: 3868kb

input:

1978433568
50
49
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
19784335...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 555

Test #12:

score: 7
Accepted
time: 5ms
memory: 4072kb

input:

1978433568
50
49
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
19784335...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 554

Test #13:

score: 7
Accepted
time: 0ms
memory: 3824kb

input:

1978433568
49
481
0
6
0
7
0
12
0
13
0
16
0
19
0
20
0
33
0
35
0
37
0
44
0
46
1
2
1
9
1
10
1
15
1
17
1
25
1
30
1
31
1
34
2
20
2
32
2
34
2
40
2
46
2
48
1
3
3
6
3
8
3
12
3
15
3
22
3
25
3
28
3
31
3
38
3
45
3
48
1
4
3
4
4
9
4
11
4
18
4
20
4
21
4
28
4
29
4
30
4
32
4
41
4
46
4
47
4
48
2
5
5
6
5
13
5
16
5
17...

output:

877694080
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
877694080
-1
49
49
-1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
4...

result:

ok #experiments: 498

Test #14:

score: 7
Accepted
time: 6ms
memory: 3796kb

input:

1978433568
50
500
0
6
0
9
0
15
0
16
0
17
0
19
0
23
0
24
0
25
0
31
0
32
0
33
0
35
0
37
0
43
0
45
1
2
1
15
1
18
1
19
1
20
1
21
1
31
1
41
1
47
1
49
0
2
2
5
2
8
2
10
2
14
2
17
2
34
2
35
2
47
1
3
2
3
3
9
3
15
3
17
3
19
3
20
3
22
3
26
3
27
3
40
3
42
2
4
4
5
4
6
4
11
4
16
4
24
4
25
4
26
4
30
4
36
4
38
4
39...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
50
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 545

Test #15:

score: 7
Accepted
time: 5ms
memory: 3800kb

input:

1978433568
48
461
0
7
0
11
0
18
0
22
0
25
0
26
0
27
0
38
1
3
1
11
1
17
1
19
1
24
1
30
1
32
1
41
1
45
1
2
2
6
2
14
2
16
2
19
2
20
2
21
2
27
2
32
2
35
2
41
2
45
2
3
3
7
3
10
3
19
3
20
3
21
3
25
3
27
3
31
1
4
4
7
4
8
4
9
4
10
4
12
4
13
4
14
4
18
4
21
4
22
4
26
4
36
4
38
4
39
4
42
4
46
0
5
4
5
5
9
5
11
...

output:

877694080
-1
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
877694080
-1
48
48
-1
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
4...

result:

ok #experiments: 458

Test #16:

score: 7
Accepted
time: 3ms
memory: 3892kb

input:

1978433568
50
500
0
4
0
16
0
17
0
21
0
23
0
27
0
40
0
47
1
6
1
15
1
20
1
31
1
33
1
34
1
35
1
38
1
47
1
49
2
11
2
19
2
20
2
23
2
28
2
30
2
34
2
36
3
15
3
16
3
20
3
22
3
29
3
33
3
35
3
36
3
39
3
42
3
48
3
49
1
4
2
4
4
10
4
13
4
21
4
28
4
30
4
32
4
35
4
40
4
43
4
44
4
5
5
14
5
24
5
34
5
35
5
42
5
44
5
...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

ok #experiments: 550

Test #17:

score: 0
Wrong Answer
time: 5ms
memory: 3812kb

input:

1978433568
50
1225
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
10
0
11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
19
0
20
0
21
0
22
0
23
0
24
0
25
0
26
0
27
0
28
0
29
0
30
0
31
0
32
0
33
0
34
0
35
0
36
0
37
0
38
0
39
0
40
0
41
0
42
0
43
0
44
0
45
0
46
0
47
0
48
0
49
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
10
1
11
1
1...

output:

877694080
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
877694080
-1
50
-1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
5...

result:

wrong answer Vertices 0 and 2 do have the same color, but they do not in returned answer

Subtask #3:

score: 0
Runtime Error

Test #34:

score: 0
Runtime Error

input:

1978433568
250
249
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
...

output:

877694080
-1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250...

result:


Subtask #4:

score: 0
Runtime Error

Test #43:

score: 0
Runtime Error

input:

1978433568
250
31125
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
10
0
11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
19
0
20
0
21
0
22
0
23
0
24
0
25
0
26
0
27
0
28
0
29
0
30
0
31
0
32
0
33
0
34
0
35
0
36
0
37
0
38
0
39
0
40
0
41
0
42
0
43
0
44
0
45
0
46
0
47
0
48
0
49
0
50
0
51
0
52
0
53
0
54
0
55
0
56
0
57
0
5...

output:

877694080
-1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250...

result:


Subtask #5:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%