QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#809971 | #9241. Sphinx | hhy0613 | 12 | 224ms | 4816kb | C++17 | 2.2kb | 2024-12-11 18:46:16 | 2024-12-11 18:46:21 |
Judging History
answer
#include "sphinx.h"
#include<bits/stdc++.h>
using namespace std;
const int N=255;
int n,g[N][N],fa[N],Fa[N];
int find(int x){return (fa[x]==x?x:fa[x]=find(fa[x]));}
int Find(int x){return (Fa[x]==x?x:Fa[x]=Find(Fa[x]));}
void merge(int x,int y){fa[find(x)]=find(y);}
void Merge(int x,int y){Fa[Find(x)]=Find(y);}
vector<int> node[N];
int calc(const vector<int>& E){
for(int i=0;i<n;++i) Fa[i]=i;
for(int i=0;i<n;++i){
for(int j=0;j<n;++j){
if(E[i]==n && E[j]==n && g[i][j]==1) Merge(i,j);
}
}
int ans=0;
for(int i=0;i<n;++i){
if(E[i]==n && Fa[i]==i) ++ans;
}
return ans;
}
vector<int> find_colours(int nn,vector<int> X,vector<int> Y){
n=nn;
memset(g,0,sizeof(g));
for(int i=0;i<(int)X.size();++i) g[X[i]][Y[i]]=g[Y[i]][X[i]]=1;
for(int i=0;i<n;++i) fa[i]=i;
for(int u=0;u<n;++u){
vector<int> E(n,-1);
for(int v=0;v<n;++v){
if((v>u || g[u][v]==0) && u!=v) E[v]=n;
}
for(int i=0;i<n;++i) node[i].clear();
for(int i=0;i<n;++i) node[find(i)].push_back(i);
int tar=0;
for(int i=0;i<n;++i){
if(fa[i]==i){
for(int v:node[i]){
if(E[v]!=n){
++tar;
break;
}
}
}
}
if(perform_experiment(E)==tar+calc(E)) continue;
while(true){
for(int i=0;i<n;++i) node[i].clear();
vector<int> vev;
for(int i=0;i<n;++i) node[find(i)].push_back(i);
for(int i=0;i<n;++i){
if(i==find(u)) continue;
for(int x:node[i]){
if(x<=u && g[u][x]==1){
vev.push_back(i);
break;
}
}
}
int l=0,r=(int)vev.size(),ans=-1;
while(l<r){
int mid=l+(r-l)/2;
vector<int> F(n,n);
for(int j=mid;j<(int)vev.size();++j){
for(int x:node[vev[j]]) F[x]=-1;
}
F[u]=-1;
if(perform_experiment(F)==(int)vev.size()-mid+1+calc(F)) r=mid;
else{
ans=mid;
l=mid+1;
}
}
assert(ans!=-1);
merge(u,vev[ans]);
tar=0;
for(int i=0;i<n;++i){
if(fa[i]==i && E[i]!=n) ++tar;
}
if(perform_experiment(E)==tar+calc(E)) break;
}
}
#ifndef HHY
vector<int> res(n);
int tot=0;
for(int i=0;i<n;++i){
if(fa[i]==i) res[i]=tot++;
}
for(int i=0;i<n;++i) res[i]=res[find(i)];
return res;
#endif
}
詳細信息
Subtask #1:
score: 1.5
Acceptable Answer
Test #1:
score: 3
Accepted
time: 0ms
memory: 4044kb
input:
1978433568 2 1 0 1 1978433568 2 1978433568 1 1978433568 1 1978433568 1
output:
877694080 -1 2 877694080 -1 -1 877694080 -1 -1 877694080 -1 -1 877694081 0 0
result:
ok #experiments: 4
Test #2:
score: 3
Accepted
time: 0ms
memory: 4064kb
input:
1978433568 2 1 0 1 1978433568 2 1978433568 2
output:
877694080 -1 2 877694080 -1 -1 877694081 0 1
result:
ok #experiments: 2
Test #3:
score: 1.5
Acceptable Answer
time: 1ms
memory: 4064kb
input:
1978433568 2 1 0 1 1978433568 2 1978433568 2
output:
877694080 -1 2 877694080 -1 -1 877694081 0 1
result:
points 0.50 points 0.5
Test #4:
score: 1.5
Acceptable Answer
time: 1ms
memory: 4124kb
input:
1978433568 2 1 0 1 1978433568 2 1978433568 1 1978433568 1 1978433568 1
output:
877694080 -1 2 877694080 -1 -1 877694080 -1 -1 877694080 -1 -1 877694081 0 0
result:
points 0.50 points 0.5
Subtask #2:
score: 0
Runtime Error
Dependency #1:
50%
Acceptable Answer
Test #5:
score: 0
Runtime Error
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 -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:
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: 10.5
Acceptable Answer
Test #43:
score: 10.5
Acceptable Answer
time: 103ms
memory: 4560kb
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:
points 0.50 points 0.5
Test #44:
score: 10.5
Acceptable Answer
time: 159ms
memory: 4504kb
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:
points 0.50 points 0.5
Test #45:
score: 10.5
Acceptable Answer
time: 186ms
memory: 4568kb
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:
points 0.50 points 0.5
Test #46:
score: 10.5
Acceptable Answer
time: 224ms
memory: 4592kb
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:
points 0.50 points 0.5
Test #47:
score: 10.5
Acceptable Answer
time: 196ms
memory: 4816kb
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:
points 0.50 points 0.5
Test #48:
score: 10.5
Acceptable Answer
time: 161ms
memory: 4616kb
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:
points 0.50 points 0.5
Test #49:
score: 10.5
Acceptable Answer
time: 126ms
memory: 4792kb
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:
points 0.50 points 0.5
Test #50:
score: 10.5
Acceptable Answer
time: 79ms
memory: 4584kb
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:
points 0.50 points 0.5
Test #51:
score: 10.5
Acceptable Answer
time: 29ms
memory: 4812kb
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:
points 0.50 points 0.5
Subtask #5:
score: 0
Skipped
Dependency #1:
50%
Acceptable Answer
Dependency #2:
0%