QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#874883#9689. 伪伪随机JohnAlfnov87.5 604ms4864kbC++142.8kb2025-01-28 19:06:072025-01-28 19:06:08

Judging History

This is the latest submission verdict.

  • [2025-01-28 19:06:08]
  • Judged
  • Verdict: 87.5
  • Time: 604ms
  • Memory: 4864kb
  • [2025-01-28 19:06:07]
  • Submitted

answer

#include "prg.h"

#include<bits/stdc++.h>

using namespace std;

int fa[1005];

int findfather(int x){

	return x==fa[x]?x:fa[x]=findfather(fa[x]);

}

vector<pair<int,int>>g[1005];

int dj[3005],dist[1005];

void dfs(int x,int la){

	for(auto pi:g[x]){

		int cu=pi.first,c2=pi.second;

		if(cu==la)continue;

		dist[cu]=dist[x]^dj[c2];

		dfs(cu,x);

	}

}

int af[1005];

void dfss(int x,int la){

	for(auto pi:g[x]){

		int cu=pi.first;

		if(cu==la)continue;

		af[cu]=x;

		dfss(cu,x);

	}

}

inline int suan(int u,int v){

	if(af[u]==v||af[v]==u)return 1;

	if(af[af[u]]==v||af[af[v]]==u||af[u]==af[v])return 2;

	if(af[af[af[u]]]==v||af[af[af[v]]]==u||af[u]==af[af[v]]||af[af[u]]==af[v])return 3;

	return 4;

}

int solve(int n,int m,int k,vector<int>op,array<vector<int>,3000>x,int c,array<array<int,3000>,25>s){

	if(k==2){

		int a1=0,a2=0;

		for(int i=0;i<c;++i){

			int h=0;

			for(int j=0;j<m;++j){

				h+=s[i][j];

			}

			if(h>=(m/4+m/2)/2&&h<=(m*3/4+m/2)/2)++a1;

			else ++a2;

		}

		return (a2<=1?1:2);

	}

	if(op[k-2]!=2){

		int a1=0,a2=0;

		for(int i=0;i<c;++i){

			int h=0;

			for(int j=0;j<m;++j){

				h+=s[i][j];

			}

			if(h>=m/2-m/16&&h<=m/2+m/16)++a1;

			else ++a2;

		}

		return (a2<=1?1:2);

	}

	if(op[k-3]!=2){

		vector<vector<int>>gs(n);

		for(int i=0;i<m;++i){

			gs[x[i][k-1]].emplace_back(i);

		}

		int mn=0,ms=0;

		for(int i=0;i<n;++i)if((signed)gs[i].size()>=2){

			int t=gs[i].size(),kn=0;

			for(int j=0;j<c;++j){

				int h=0;

				for(auto k:gs[i]){

					h+=s[j][k];

				}

				if(h==0||h==t)++kn;

			}

			mn+=kn;++ms;

		}

		if(1.0*mn/ms>6.7)return 2;

		return 1;

	}

	if(op[0]==1){

		for(int i=0;i<c;++i){

			for(int j=0;j<m;++j){

				s[i][j]^=1;

			}

		}

	}

	int he=0,gs=0;

	int TT=17;

	mt19937 mt(12345678);

	while(TT--){

		vector<int>ok(m),p(m);

		for(int i=0;i<n;++i)fa[i]=i,g[i].clear();

		for(int i=0;i<m;++i)p[i]=i;

		shuffle(p.begin(),p.end(),mt);

		for(int ii=0;ii<m;++ii){

			int i=p[ii];

			int u=x[i][2],v=x[i][3];

			int fu=findfather(u),fv=findfather(v);

			if(fu!=fv){

				fa[fu]=fv;

				g[u].emplace_back(v,i);

				g[v].emplace_back(u,i);

			}else{

				ok[i]=1;

			}

		}

		af[0]=af[n]=n;dfss(0,-1);

		for(int i=0;i<m;++i)if(ok[i]){

			int ds=suan(x[i][2],x[i][3]);

			if(ds>3)ok[i]=0;

		}

		for(int t=0;t<c;++t){

			for(int i=0;i<m;++i){

				dj[i]=s[t][i];

			}

			dfs(0,-1);

			for(int i=0;i<m;++i)if(ok[i]){

				int u=x[i][2],v=x[i][3];

				he+=dj[i]^dist[u]^dist[v];++gs;

			}

		}

	}

	if(1.0*he/gs<0.474)return 2;

	return 1;

}




詳細信息

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 38ms
memory: 4480kb

input:

15478345200793503450
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #2:

score: 5
Accepted
time: 37ms
memory: 4352kb

input:

8777328773999050296
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #3:

score: 5
Accepted
time: 38ms
memory: 4480kb

input:

8306860370301473558
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #4:

score: 5
Accepted
time: 40ms
memory: 4480kb

input:

7355535262167792602
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #5:

score: 5
Accepted
time: 39ms
memory: 4480kb

input:

5901033176077457090
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #6:

score: 5
Accepted
time: 39ms
memory: 4480kb

input:

6725216784977925179
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #7:

score: 5
Accepted
time: 37ms
memory: 4480kb

input:

15228205213107479514
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #8:

score: 5
Accepted
time: 36ms
memory: 4480kb

input:

10794704323727532585
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #9:

score: 5
Accepted
time: 39ms
memory: 4480kb

input:

1531863096801291235
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #10:

score: 5
Accepted
time: 36ms
memory: 4480kb

input:

12583269177593428071
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #11:

score: 5
Accepted
time: 43ms
memory: 4480kb

input:

17884260014537450829
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #12:

score: 5
Accepted
time: 38ms
memory: 4352kb

input:

5598933293992250528
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #13:

score: 5
Accepted
time: 37ms
memory: 4608kb

input:

15029988260575536839
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #14:

score: 5
Accepted
time: 38ms
memory: 4480kb

input:

18435900855108017468
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #15:

score: 5
Accepted
time: 37ms
memory: 4480kb

input:

4740054765891404200
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #16:

score: 5
Accepted
time: 36ms
memory: 4352kb

input:

14854659461851577578
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #17:

score: 5
Accepted
time: 36ms
memory: 4352kb

input:

11860421814773748892
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #18:

score: 5
Accepted
time: 37ms
memory: 4480kb

input:

2618043996784533224
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #19:

score: 5
Accepted
time: 37ms
memory: 4352kb

input:

4729099511370153840
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #20:

score: 5
Accepted
time: 43ms
memory: 4480kb

input:

6142100148239098773
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #2:

score: 15
Accepted

Test #21:

score: 15
Accepted
time: 56ms
memory: 4608kb

input:

15644456504653888385
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #22:

score: 15
Accepted
time: 54ms
memory: 4608kb

input:

17525409403797767860
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #23:

score: 15
Accepted
time: 58ms
memory: 4608kb

input:

16953002163903257386
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #24:

score: 15
Accepted
time: 55ms
memory: 4352kb

input:

788278265436010907
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #25:

score: 15
Accepted
time: 55ms
memory: 4608kb

input:

15540481379750277983
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #26:

score: 15
Accepted
time: 55ms
memory: 4608kb

input:

9015247799051510708
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #27:

score: 15
Accepted
time: 56ms
memory: 4608kb

input:

14718463813137865720
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #28:

score: 15
Accepted
time: 46ms
memory: 4480kb

input:

9626039215908894536
1237461 18364524
21312415 32673239

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #29:

score: 15
Accepted
time: 42ms
memory: 4480kb

input:

15367994199069034681
1237461 18364524
21312414 32673236

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #30:

score: 15
Accepted
time: 54ms
memory: 4608kb

input:

9815994743565449906
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #31:

score: 15
Accepted
time: 59ms
memory: 4608kb

input:

5076972403022378194
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #32:

score: 15
Accepted
time: 56ms
memory: 4608kb

input:

13523311479884920883
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #33:

score: 15
Accepted
time: 55ms
memory: 4480kb

input:

15452059373617333584
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #34:

score: 15
Accepted
time: 57ms
memory: 4480kb

input:

8631381148034308695
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #35:

score: 15
Accepted
time: 61ms
memory: 4480kb

input:

5422315179829169150
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #36:

score: 15
Accepted
time: 57ms
memory: 4608kb

input:

4361249126136426961
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #37:

score: 15
Accepted
time: 56ms
memory: 4608kb

input:

6976800422460576686
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #38:

score: 15
Accepted
time: 57ms
memory: 4608kb

input:

8552184079474065172
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #39:

score: 15
Accepted
time: 57ms
memory: 4480kb

input:

1598183902825082255
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #40:

score: 15
Accepted
time: 57ms
memory: 4736kb

input:

3317147437384062467
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #3:

score: 30
Accepted

Test #41:

score: 30
Accepted
time: 94ms
memory: 4736kb

input:

18096446825184275106
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #42:

score: 30
Accepted
time: 66ms
memory: 4736kb

input:

14902425508262229602
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #43:

score: 30
Accepted
time: 102ms
memory: 4480kb

input:

15139748546799860644
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #44:

score: 30
Accepted
time: 106ms
memory: 4736kb

input:

9307674455823252809
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #45:

score: 30
Accepted
time: 101ms
memory: 4608kb

input:

3661511870465233329
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #46:

score: 30
Accepted
time: 101ms
memory: 4736kb

input:

9635149641212141231
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #47:

score: 30
Accepted
time: 94ms
memory: 4608kb

input:

8623126583531512280
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #48:

score: 30
Accepted
time: 93ms
memory: 4736kb

input:

17542991876646715766
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #49:

score: 30
Accepted
time: 94ms
memory: 4736kb

input:

11509469256784773735
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #50:

score: 30
Accepted
time: 86ms
memory: 4608kb

input:

15187255126140633228
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #51:

score: 30
Accepted
time: 67ms
memory: 4608kb

input:

5596351031354288494
1237458 18364525

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #52:

score: 30
Accepted
time: 85ms
memory: 4736kb

input:

1956884572310497827
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #53:

score: 30
Accepted
time: 102ms
memory: 4736kb

input:

1848311009363078904
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #54:

score: 30
Accepted
time: 89ms
memory: 4736kb

input:

7958126186516090968
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #55:

score: 30
Accepted
time: 102ms
memory: 4736kb

input:

14895520484903877251
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #56:

score: 30
Accepted
time: 108ms
memory: 4736kb

input:

252125976313631579
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #57:

score: 30
Accepted
time: 136ms
memory: 4608kb

input:

8822075999373790379
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #58:

score: 30
Accepted
time: 84ms
memory: 4608kb

input:

12301960690081072082
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #59:

score: 30
Accepted
time: 85ms
memory: 4480kb

input:

6580770166803301984
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #60:

score: 30
Accepted
time: 107ms
memory: 4736kb

input:

11293302044901951261
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #4:

score: 37.5
Acceptable Answer

Test #61:

score: 50
Accepted
time: 590ms
memory: 4736kb

input:

6934415118162240981
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #62:

score: 37.5
Acceptable Answer
time: 604ms
memory: 4736kb

input:

3842633665807973417
1237458 18364524
21312413 32673238 236176120

output:

126534125

result:

points 0.75 Correct Answer. Correct in 98 tests.

Test #63:

score: 50
Accepted
time: 592ms
memory: 4608kb

input:

7239866286946328663
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #64:

score: 50
Accepted
time: 589ms
memory: 4736kb

input:

7703816040948127846
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #65:

score: 50
Accepted
time: 582ms
memory: 4608kb

input:

3603384166177697472
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #66:

score: 50
Accepted
time: 587ms
memory: 4736kb

input:

3656923047342207392
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #67:

score: 50
Accepted
time: 585ms
memory: 4736kb

input:

527459705711820317
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #68:

score: 50
Accepted
time: 581ms
memory: 4608kb

input:

9663120536403908130
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #69:

score: 50
Accepted
time: 61ms
memory: 4608kb

input:

9439840407846051020
1237458 18364524
21312414 32673236 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #70:

score: 50
Accepted
time: 582ms
memory: 4480kb

input:

13809961864883455849
1237458 18364524
21312413 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #71:

score: 50
Accepted
time: 583ms
memory: 4480kb

input:

15124215729371202231
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #72:

score: 50
Accepted
time: 590ms
memory: 4864kb

input:

7117551168813448970
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #73:

score: 50
Accepted
time: 590ms
memory: 4736kb

input:

5561290863673255532
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #74:

score: 50
Accepted
time: 589ms
memory: 4608kb

input:

13802789789482912767
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #75:

score: 50
Accepted
time: 584ms
memory: 4608kb

input:

9913943612955590097
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #76:

score: 50
Accepted
time: 603ms
memory: 4736kb

input:

9308648462630523956
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #77:

score: 50
Accepted
time: 598ms
memory: 4480kb

input:

7898242699188216716
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #78:

score: 50
Accepted
time: 589ms
memory: 4736kb

input:

17772607140853820910
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #79:

score: 50
Accepted
time: 583ms
memory: 4608kb

input:

3917596392610036445
1237458 18364524
21312413 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #80:

score: 50
Accepted
time: 587ms
memory: 4480kb

input:

7049562837957796004
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.