QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#129055 | #5095. 九王唱 | starrylasky | 0 | 2ms | 7736kb | C++14 | 2.0kb | 2023-07-21 20:10:16 | 2023-07-21 20:10:18 |
Judging History
answer
///yl/hs/bx/yl
#include<bits/stdc++.h>
#define fep(i,l,r) for(int i=l;i<=r;++i)
#define feb(i,r,l) for(int i=r;i>=l;--i)
#define For(i,u) for(int i=head[u];i;i=e[i].nxt)
#define LL long long
// #define int long long
#define ld long double
#define pr pair<int,int>
#define mpr make_pair
using namespace std;
inline int read()
{
int s=0,w=1; char ch=getchar();
while(!(ch>='0'&&ch<='9')) {if(ch=='-') w=-1; ch=getchar();}
while( ch>='0'&&ch<='9') {s=(s<<1)+(s<<3)+ch-'0'; ch=getchar();}
return s*w;
}
namespace starrylasky
{
const int N=5010;
int n,seed,a[N][N],c[N][N],p[N],b[N];
inline void getans() {fep(i,1,n+1) if(!b[i]) printf("%d ",i);}
inline void gen(int n,int seed){
std::mt19937 rnd(seed);
for(int i=1;i<=n;++i){
for(int j=1;j<=n+1;++j){
a[i][j]=j;
std::swap(a[i][j],a[i][rnd()%j+1]);
}
}
}
inline void Main()
{
n=read(),seed=read();
if(!seed) fep(i,1,n) fep(j,1,n+1) a[i][j]=read();
else gen(n,seed); cerr<<"\n";
fep(i,1,n)
{
fep(j,1,n+1) c[i][j]=j,b[j]=a[i][j];
sort(c[i]+1,c[i]+2+n,[](const int x,const int y) {return b[x]>b[y];});
// fep(j,1,n+1) cerr<<c[i][j]<<" "; cerr<<"\n";
}
memset(b,0,sizeof(b));
feb(i,n,1)
{
p[i]=n+1;
while(b[c[i][p[i]]]) --p[i];
b[c[i][p[i]]]=i;
}
// fep(i,1,n) cerr<<c[i][p[i]]<<" "; cerr<<"\n";
getans();
fep(i,2,n)
{
int u=b[c[i-1][n+1]];
b[c[i-1][p[i-1]]]=0,p[i-1]=n+1,b[c[i-1][n+1]]=i-1;
if(u!=i-1) while(u)
{
--p[u];
while(b[c[u][p[u]]]&&!(i<=b[c[u][p[u]]]&&b[c[u][p[u]]]<u)) --p[u];
int to=b[c[u][p[u]]]; b[c[u][p[u]]]=u; u=to;
}
getans();
}
}
}
signed main()
{
int _T=1;
while(_T--) starrylasky::Main();
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 8
Accepted
time: 1ms
memory: 5764kb
input:
8 0 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5 6 1 3 2 9 7 8 4 5
output:
5 5 5 5 5 5 5 5
result:
ok 8 numbers
Test #2:
score: 0
Accepted
time: 0ms
memory: 5908kb
input:
8 0 4 7 8 6 1 3 2 9 5 5 8 9 7 2 4 3 1 6 6 9 1 8 3 5 4 2 7 7 1 2 9 4 6 5 3 8 8 2 3 1 5 7 6 4 9 9 3 4 2 6 8 7 5 1 1 4 5 3 7 9 8 6 2 2 5 6 4 8 1 9 7 3
output:
7 7 7 7 7 7 7 7
result:
ok 8 numbers
Test #3:
score: 0
Accepted
time: 1ms
memory: 5924kb
input:
8 0 5 2 6 8 7 9 1 3 4 4 1 5 7 6 8 9 2 3 3 9 4 6 5 7 8 1 2 2 8 3 5 4 6 7 9 1 1 7 2 4 3 5 6 8 9 9 6 1 3 2 4 5 7 8 8 5 9 2 1 3 4 6 7 7 4 8 1 9 2 3 5 6
output:
6 6 6 6 6 6 6 6
result:
ok 8 numbers
Test #4:
score: 0
Accepted
time: 1ms
memory: 5908kb
input:
8 0 2 3 9 1 5 7 6 4 8 2 3 9 1 6 8 7 4 5 2 3 9 1 4 8 6 5 7 2 3 9 1 8 4 5 6 7 2 3 9 1 8 6 7 5 4 2 3 9 1 6 4 7 8 5 2 3 9 1 4 6 5 7 8 2 3 9 1 7 8 5 6 4
output:
3 3 3 3 3 3 3 3
result:
ok 8 numbers
Test #5:
score: 0
Accepted
time: 2ms
memory: 7736kb
input:
7 0 8 1 5 4 7 6 3 2 8 1 5 7 2 6 4 3 8 1 5 2 7 3 4 6 8 1 5 3 6 7 2 4 8 1 5 4 6 7 2 3 8 1 5 3 7 4 2 6 8 1 5 4 3 2 6 7
output:
1 1 1 1 1 1 1
result:
ok 7 numbers
Test #6:
score: -8
Wrong Answer
time: 1ms
memory: 5920kb
input:
8 0 2 7 8 1 5 6 3 9 4 9 5 6 1 4 3 8 2 7 4 1 8 3 5 7 2 9 6 6 2 5 8 1 9 7 4 3 4 7 2 5 8 9 1 3 6 3 4 8 2 9 5 7 1 6 7 2 9 1 3 8 5 4 6 5 6 8 3 4 7 9 2 1
output:
3 3 3 1 3 3 3 1
result:
wrong answer 4th numbers differ - expected: '6', found: '1'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%