QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#853955 | #9909. 阿尔塔尔 2 | juan_123 | 20 | 113ms | 4248kb | C++14 | 1.6kb | 2025-01-11 20:32:30 | 2025-01-11 20:32:34 |
Judging History
answer
//仿佛只要伸手 就能触摸
#include<bits/stdc++.h>
#include "altar.h"
using namespace std;
int nxt[305][305];
int to[305];
vector<pair<int,int> >e;
int fa[305],ok[305];
int find(int x){
if(fa[x] == x)return x;
return fa[x] = find(fa[x]);
}
int altar(int n){
e.clear();
for(int i =0;i<=n;i++)to[i] = 0,fa[i] = i,ok[i] = 0;
srand(time(0));
for(int i =0;i<=n;i++)for(int j =0;j<=n;j++)nxt[i][j] = -1;
vector<int>p;
for(int i = 1;i<=n;i++)p.push_back(i);
random_shuffle(p.begin(),p.end());
while(p.size()>=2){
int x = p.back();p.pop_back();int y = p.back();p.pop_back();
int cc = sense(x,y);
nxt[x][y] = cc,nxt[y][x] = cc^1;
if(cc){
to[y] = x;
p.push_back(x);
}else{
to[x] = y;
p.push_back(y);
}
}
int x = p[0];p.clear();
for(int i = 1;i<=n;i++)if(x!=i and !nxt[i][x])p.push_back(i);
random_shuffle(p.begin(),p.end());
for(auto y:p){
if(sense(y,x)){
to[x] = y;break;
}
}
if(!to[x])return x;
//现在我们有一个基环森林,在每个连通块上找出来一个环
for(int i = 1;i<=n;i++)e.push_back({i,to[i]});
// for(int i = 1;i<=n;i++)cout << " " << i << " " << to[i] << endl;
random_shuffle(e.begin(),e.end());
vector<int>S;
for(int i = 0;i<e.size();i++){
int x = e[i].first,y = e[i].second;
if(ok[find(x)] or ok[find(y)])continue;
if(find(x) == find(y)){
S.push_back(x);ok[find(x)] = 1;
continue;
}
ok[find(x)]|=find(y);
fa[find(x)] = find(y);
}
int res = S[0];
for(int i = 1;i<S.size();i++)if(sense(res,S[i]))res = S[i];
return res;
}
/*
g++ grader.cpp qoj9909.cpp -o qwq -O2 -std=c++14 -lm
*/
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 113ms
memory: 3984kb
input:
300 $NE[`FN8(GUPU5JN"+-?S9BD8AV29KPSV*_J33@A;BIC>PLD;? .O`)V,Q^WPM3M4>+@W$GJ`Y_.Z`%'?1?VO645/Y";"E_RDLBU# ,V\*=ZO>6J0[,*9XVA[<<O\RJN9]B`&^4-`QV(&Z=$T7(05"2! (EOLI9X](E0V.HG`B&5QBMXJ-<8;ITS5_FL>S-BEC[FUH9?J'" AH#FYE-:C9OC>N*WMNIHYIDSSG=2Z2:0/B/B=-]QBJ^61]LG_! CL92HRY]<1P<VF$>Q>;<F*1>)DH'5$VA3>A&1'0;Y...
output:
Accepted. 90328 u2930hioewfbjkadvhhi4t
result:
ok Perfect. 301.093333
Subtask #2:
score: 10
Accepted
Test #2:
score: 10
Accepted
time: 90ms
memory: 4044kb
input:
300 `XP``88`X:`X>Y`]@X^P`](^P[WY^`^V^P`NX`[L`@P```\^^@ 6TTR>ADPJM9+/E@WNROG<_$_86,9W_OY?X`C\0Z&`HX^\X>]U/ ):ZQ'QR&1'-&(S/\W18D.`"`LK&):>6=P\?R^HEC>TZ]VD//;( X]]@0Y[\/\_K$\H><O`ZG`I`6V'GPP,O`^P^_4@^`\^``>00P$ 37/M$=="F&4RBMTO.UV=T@Q`K;"378&X\O8=`*LY`]O@`KDDW" .0(X$/_GSCLY1_:X'\;OZ0Y@6NB:\\C\>`<O`E8]@...
output:
Accepted. 136449 u2930hioewfbjkadvhhi4t
result:
ok Perfect. 454.830000
Test #3:
score: 10
Accepted
time: 112ms
memory: 4060kb
input:
300 5OE?M21ZC3S/R%Q3L;V2'%M1ZRB"0^#J%_.A5(KTQ-=UM-1-`& _73M@`3L&)W\.!1Y-T!+?B_&1'=BZBPDGGHWT*!=I]^*/T)Y90 %HX#N%@(=R.Q,)2R$RCRSAHG1+FBU7?&&?PI)/^;\1/]3$/]T' %!\M8T)7:0U_*E^GG.@C,!0=\MR4<61>D$<<5W<P,%_N,!Z<1" \?+TT5<N#+&YOV77_-5*"C8B(]9=Q)1V!4?GV!R%,36/7Q:&$! 1D]6'2EO3S)%B`1.4GJ48,&Q09S:[T\\"L\(KS'>^...
output:
Accepted. 134790 u2930hioewfbjkadvhhi4t
result:
ok Perfect. 449.300000
Subtask #3:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #4:
score: 0
Wrong Answer
time: 1ms
memory: 4248kb
input:
300 .&(6P[JSS(#6@H4\H?I8>56PGMHQ9OLB`X%0&SZ`[0\Z9GSXT/ GCDK8^5:Z$BKPRJ^40UL/CK(4W49%WVQ`:CH#Z]@^H^=-4Z\:( @R@```_]`\@`X\_`\0`X8@XP```OO`_Z`>Z<L__`_``@_Z^^N( III[6,67_1I[<-;`5$^KDI[RE^%'B>.]@GIJ1/`(N:0(S5_=W" 555^KF+,@)5^.'N@[B?V25^9S?#DQO'_04U5)H`LXMH$:+@0\! +/K@^TFF0'K_/HW0^1P[IK?.:0BR=8$`P*?+ET`X@...
output:
Wrong Answer.
result:
wrong answer Wrong Answer.