QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#449627 | #7979. 棋盘 | rqoi031 | 0 | 8ms | 1636kb | C++14 | 2.5kb | 2024-06-21 15:27:16 | 2024-06-21 15:27:17 |
answer
#include<stdio.h>
#include<algorithm>
#include<cstring>
template<int N>
class number {
private:
int len,dig[N+5];
public:
constexpr number():len(0),dig{} {}
constexpr number(int x):len(0),dig{} {
while(x>0) {
dig[len++]=x%10,x/=10;
}
}
constexpr void clear() {
std::memset(dig,0,len*sizeof(int));
}
constexpr void assign(int x) {
clear();
while(x>0) {
dig[len++]=x%10,x/=10;
}
}
constexpr void assign(const char* s) {
clear();
if(s[0]=='0') {
return;
}
len=std::strlen(s);
for(int i=0;i!=len;i++) {
dig[i]=s[len-1-i]^'0';
}
}
constexpr bool operator<(const number<N> &x) const {
if(len!=x.len) {
return len<x.len;
}
for(int i=len-1;i!=-1;i--) {
if(dig[i]<x.dig[i]) {
return true;
}
}
return false;
}
constexpr number<N> operator+(const number<N> &x) const {
number<N> y;
y.len=std::max(len,x.len);
for(int i=0;i!=y.len;i++) {
if((y.dig[i]+=dig[i]+x.dig[i])>=10) {
y.dig[i]-=10,++y.dig[i+1];
}
}
y.len+=!!y.dig[y.len];
return y;
}
inline void print() const {
if(len==0) {
putchar('0');
return;
}
for(int i=len-1;i!=-1;i--) {
printf("%d",dig[i]);
}
}
};
number<100> fib[485];
char str[105],ans[965];
int main() {
int k,q,x,y;
scanf("%d%d%d%d",&k,&q,&x,&y);
const int n(std::min(x>>1,15));
fib[0].assign(1),fib[1].assign(1);
int nx(1),ny(2);
printf("%d\n",n<<1);
printf("1 1\n1 2\n");
for(int i=2;i<=n;i++) {
fib[i]=fib[i-1]+fib[i-2];
if(i&1) {
++ny;
printf("%d %d\n",nx-1,ny);
}
else {
++nx;
printf("%d %d\n",nx,ny-1);
}
printf("%d %d\n",nx,ny);
}
for(int i=1;i<=q;i++) {
scanf("%s",str);
number<100> tar,cur;
tar.assign(str);
std::memset(ans,'0',n<<1);
for(int j=n;j>=1;j--) {
const number<100> tmp(cur+fib[j]);
if(!(tar<tmp)) {
cur=tmp;
ans[(j<<1)-1]='1';
}
}
ans[n<<1]=0;
puts(ans);
}
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 1628kb
input:
3 999 1000 340 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010000000000000000000000000000 000100000000000000000000000000 000001000000000000000000000000 010001000000000000000000000000 000000010000000000000000000000 0100000100000000000000...
result:
wrong answer Wrong[2]
Subtask #2:
score: 0
Wrong Answer
Test #2:
score: 0
Wrong Answer
time: 6ms
memory: 1636kb
input:
12 10000 1000 340 358908473750 36343501002 904324605639 453955046266 725478753662 218319365131 882878650993 648345848966 474401697383 722377018680 718743783955 748051292505 167886140898 411111004914 327825244967 990026144963 623309580364 970889332700 319445927842 527624602835 453135227321 1153226125...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]
Subtask #3:
score: 0
Wrong Answer
Test #5:
score: 0
Wrong Answer
time: 8ms
memory: 1636kb
input:
100 10000 1000 340 87490023455826213450979333037504606824522062808297739018786336978222089712660133428564103979384831 874900289913204769749000879539227331559680630241808944569515663934025397982898503777823815274323967 8749002899116133353924895735921513229471979456689635148877567298640178774668643967...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]
Subtask #4:
score: 0
Wrong Answer
Test #7:
score: 0
Wrong Answer
time: 8ms
memory: 1604kb
input:
100 10000 990 310 4083451712318559926139496762164571032902328806667934236880329773320213539959944736095945843081512968 7811890641057562314768022152641517082686481268288006737090208624016586608183953908313798353213188661 97358161226180890688421784730819518002666166790210320310558753031161862165361257...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]
Subtask #5:
score: 0
Wrong Answer
Test #9:
score: 0
Wrong Answer
time: 8ms
memory: 1612kb
input:
100 10000 1050 260 8749002899132047697490008908470485461412677723566863434996575047286849703722697797645542008396185599 8749002899132047697490008908470485461412677699052921091826559946707718798046219210886366418022957055 7655377536740541735303757766642121742076255665128332760334129720709510994307378...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]
Subtask #6:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 8ms
memory: 1540kb
input:
100 10000 1050 240 8749002899132047697490008908470485461412677723572849734285100881333676956761384191490477496469520383 874886939179415873527191365288672777702448917037688119492655525651250910013304087281579324577152991 87490028991320476974900089084704854614126777235728490149522637601883528949454159...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]
Subtask #7:
score: 0
Wrong Answer
Test #13:
score: 0
Wrong Answer
time: 0ms
memory: 1604kb
input:
100 1 980 260 8749002899132047697490008908470485461309833682610292204604841418296589481615503153703163411103219711
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101
result:
wrong answer Wrong[2]
Subtask #8:
score: 0
Wrong Answer
Test #19:
score: 0
Wrong Answer
time: 8ms
memory: 1540kb
input:
100 10000 960 240 8749002899132047697015724510954438324957730968977252383122989921226002617013223698533483281626692607 8749002899132047697490008908470485461412677720507858663971304708923117942496885325656574463725010943 87148271065573131361716885470369961093519598137825155235803895087505468828694702...
output:
30 1 1 1 2 2 1 2 2 1 3 2 3 3 2 3 3 2 4 3 4 4 3 4 4 3 5 4 5 5 4 5 5 4 6 5 6 6 5 6 6 5 7 6 7 7 6 7 7 6 8 7 8 8 7 8 8 7 9 8 9 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 010101010101010101010101010101 0101010101010101010101...
result:
wrong answer Wrong[2]