QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#20007 | #3098. Ancient Machine | Xiao_Luo_Xuan | 0 | 62ms | 9768kb | C++20 | 1.9kb | 2022-02-14 15:50:07 | 2023-01-17 10:38:50 |
Judging History
Anna
#include<bits/stdc++.h>
#include "Anna.h"
using namespace std;
const int N=1e5+5;
long long fib[66];
void init(){
fib[0]=1,fib[1]=2;
for(int i=2;i<=64;i++) fib[i]=fib[i-1]+fib[i-2];
}
bool ans[N];
long long zip(long long x){
long long tot=0;
for(int i=0;i<64;i++) if(x>>i & 1ll) tot+=fib[i];
return tot;
}
void Anna(int n,vector <char> S){
init();
for(int i=0;i<n;i++) ans[i]=0;
int st=-1;
for(int i=0;i<n;i++){
if(S[i]=='X'){
st=i;
break;
}
}
if(st==-1){
Send(0);
return ;
}
for(int i=st+1;i<n;i++)
if(S[i]=='Z' && (i==n-1 || S[i+1]!='Z')) ans[i]=1;
// for(int i=0;i<n;i++) cout<<ans[i];
// cout<<endl;
for(int l=0,r;l<n;l=r+1){
r=min(n-1,l+63);
long long tot=0;
for(int i=l;i<=r;i++) if(ans[i]) tot|=1ll<<(i-l);
long long x=zip(tot);
for(int i=0;i<45;i++) Send(x>>i & 1ll);
}
for(int i=0;i<17;i++) Send(st>>i & 1ll);
}
Bruno
#include<bits/stdc++.h>
#include "Bruno.h"
using namespace std;
const int N=1e5+5;
bool S[N];
long long fib[66];
void init(){
fib[0]=1,fib[1]=2;
for(int i=2;i<=64;i++) fib[i]=fib[i-1]+fib[i-2];
}
long long sol(int x){
long long tot=0;
for(int i=64-1;i>=0;i--){
if(x>=fib[i]) tot|=(1ll<<i),x-=fib[i];
}
return tot;
}
void Bruno(int n,int l,vector <int> A){
init();
if(l==1){
for(int i=0;i<n;i++) Remove(i);
return ;
}
int st=0;
for(int i=l-17;i<l;i++) st |= (A[i]<<(i-l+17));
l-=17;
for(int i=0;i*45+45<l;i++){
long long tot=0;
for(int t=i*45;t<i*45+45;t++) if(A[t]) tot|=1ll<<(t-i*45);
long long x=sol(tot);
for(int t=i*64;t<i*64+64;t++) S[t]=x>>(t-i*64) & 1ll;
}
// for(int i=0;i<n;i++) cout<<S[i];
// cout<<endl;
for(int i=0;i<st;i++) Remove(i);
int lst=st+1;
for(int i=st+1;i<n;i++){
if(S[i]){
for(int t=i-1;t>=lst;t--) Remove(t);
Remove(i);
lst=i+1;
}
}
for(int i=lst;i<n;i++) Remove(i);
Remove(st);
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 100
Accepted
time: 4ms
memory: 3636kb
input:
18 Y X Y Z X Z X X Z Z Y Y Z Y Y Z X X
output:
62 10000100000100000000000000000000000000000000010000000000000000
input:
62 10000100000100000000000000000000000000000000010000000000000000
output:
0 62 3
result:
ok n = 18, D = 62, L = 3
Test #2:
score: 0
Wrong Answer
time: 4ms
memory: 3612kb
input:
18 X Z X Y Y Y X Z X Y Z Z Z Z Y Z Z Y
output:
62 01111001001100000000000000000000000000000000000000000000000000
input:
62 01111001001100000000000000000000000000000000000000000000000000
output:
0 62 2
result:
wrong answer your query is valid but your solution is not optimal: read 2 but expected 3
Subtask #2:
score: 0
Wrong Answer
Test #12:
score: 0
Wrong Answer
time: 62ms
memory: 9768kb
input:
100000 X Z X Z Z X Y Z Y X Y X Z Z Z Y X Z Y X Y Y X Y Y Y Z Y Z Z Y X X Y X X Y Y X X X Z Y Y Y Z Z Z Z Y X Y Y Z Z Z X Y Z X X X X Y X Y X X Z X Z Z Z X Y X X X Z X Z X X X Y Y Y Y Z X X Y Z Y Y X Z X Z Z Z Z Z Y Z Y X Y Y Y Y X Z Z Y Z Z Y Z Z Z X Z Z X X Z Z Z Z X X Z Y Y Z Y Y Z Z Y Y Z Y Z Y Z...
output:
70352 001001000001111001010010010100010000001110000111110110010011010010010110000111001011101000111010010010111101110000110011101001111111010101000001001100110000010010100101110000001000010001010001101010111010100101010101011011000101110101110010011110111111100101011000101100001111000110000010011101...
input:
70352 001001000001111001010010010100010000001110000111110110010011010010010110000111001011101000111010010010111101110000110011101001111111010101000001001100110000010010100101110000001000010001010001101010111010100101010101011011000101110101110010011110111111100101011000101100001111000110000010011101...
output:
0 70352 5248
result:
wrong answer your query is valid but your solution is not optimal: read 5248 but expected 22133