QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#752522 | #9519. Build a Computer | linjingxiang | AC ✓ | 1ms | 3724kb | C++14 | 1.7kb | 2024-11-16 07:24:11 | 2024-11-16 07:24:11 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int a_,b_,aw,w,d,n=1,c,ru[105];
vector<pair<int,bool> >ans[105],as[105];
bool a[25],b[25];
map<int,int>mp;int tot=1;
inline void s(int x){ans[x][0].first=ans[x][1].first,ans[x][0].second=ans[x][1].second;ans[x].pop_back();}
int main(){
cin>>a_>>b_;int a__=a_,b__=b_;
while(a_)a[++aw]=a_%2,a_>>=1;
while(b_)b[++w]=b_%2,b_>>=1;
if(a__==b__){cout<<w+1<<'\n';for(int i=1;i<=w;i++)cout<<"1 "<<i+1<<' '<<a[w-i+1]<<'\n';cout<<"0\n";return 0;}
for(d=w;a[d]==b[d];d--);
for(c=d-1;a[c]&&!b[c];c--);c=max(c,1);
for(;n<=c-1;n++)ans[n].push_back({n+1,0}),ans[n].push_back({n+1,1});n++;
for(;n<=c+w;n++){
if(n!=c+w)ans[n].push_back({n+1,b[w-(n-c)+1]});
else ans[n].push_back({c,b[w-(n-c)+1]});
if((w-(n-c)+1)<=c&&b[w-(n-c)+1])ans[n].push_back({c-(w-(n-c)+1)+1,0});
}
if(b__-a__!=1||a__%2==1)ans[c+(w-d+1)].push_back({n,0});
for(;n<=c+w+d-1;n++){
if(n!=c+w+d-1)ans[n].push_back({n+1,a[d-(n-(c+w))]});
else ans[n].push_back({c,a[d-(n-(c+w))]});
if((d-(n-c-w))<=c&&!a[d-(n-(c+w))])ans[n].push_back({c-(d-(n-(c+w)))+1,1});
}n--;
if(ans[c+1].size()==2){int q1=ans[c+1][1].first,q2;ans[c+1].pop_back();while(!ans[q1][0].second)q2=ans[q1][0].first,s(q1),q1=q2;}
for(int i=1;i<=n;i++)for(int j=0;j<ans[i].size();j++)ru[ans[i][j].first]++;
for(int i=1;i<=n;i++)if(ru[i])mp[i]=++tot;else mp[i]=1;
// cout<<"\n\n\n";
// for(int i=1;i<=n;i++)cout<<mp[i]<<' ';
// cout<<"\n\n\n";
for(int i=1;i<=n;i++)for(int j=0;j<ans[i].size();j++)as[mp[i]].push_back({mp[ans[i][j].first],ans[i][j].second});
cout<<tot<<'\n';
for(int i=1;i<=tot;i++){
cout<<as[i].size()<<' ';
for(int j=0;j<as[i].size();j++)cout<<as[i][j].first<<' '<<as[i][j].second<<' ';
cout<<'\n';
}
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3636kb
input:
5 7
output:
5 1 3 1 0 2 4 1 5 0 2 2 1 2 0 1 2 1
result:
ok ok
Test #2:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
10 27
output:
12 2 6 1 10 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 0 2 7 1 2 0 1 8 0 2 9 1 4 0 2 5 1 5 0 2 11 0 3 1 1 12 1 2 5 0 5 1
result:
ok ok
Test #3:
score: 0
Accepted
time: 1ms
memory: 3572kb
input:
5 13
output:
9 2 5 1 8 1 2 3 0 3 1 2 4 0 4 1 0 2 6 1 2 0 1 7 0 2 4 1 4 0 2 9 0 3 1 1 4 1
result:
ok ok
Test #4:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
1 1000000
output:
39 20 21 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 ...
result:
ok ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
1 1
output:
2 1 2 1 0
result:
ok ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
7 9
output:
7 2 3 1 6 1 0 1 4 0 1 5 0 2 2 1 2 0 1 7 1 1 2 1
result:
ok ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3720kb
input:
3 7
output:
6 2 4 1 6 1 2 3 0 3 1 0 2 5 1 2 0 2 3 1 3 0 1 3 1
result:
ok ok
Test #8:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
1 5
output:
5 3 4 1 2 1 3 1 2 3 0 3 1 0 1 5 0 2 3 1 3 0
result:
ok ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
1 4
output:
5 3 4 1 2 1 3 1 2 3 0 3 1 0 1 5 0 1 3 0
result:
ok ok
Test #10:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
8 9
output:
5 1 3 1 0 1 4 0 1 5 0 2 2 1 2 0
result:
ok ok
Test #11:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
7 51
output:
13 4 7 1 2 1 3 1 12 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 0 2 8 1 2 0 1 9 0 1 10 0 2 11 1 5 0 2 6 1 6 0 1 13 1 1 6 1
result:
ok ok
Test #12:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
51 79
output:
16 2 6 1 12 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 0 1 7 0 1 8 0 2 9 1 2 0 2 10 1 3 0 2 11 1 4 0 2 5 1 5 0 1 13 1 2 14 0 2 1 2 15 0 3 1 1 16 1 1 5 1
result:
ok ok
Test #13:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
92 99
output:
14 1 4 1 2 3 0 3 1 0 2 5 1 10 0 1 6 0 1 7 0 1 8 0 2 9 1 2 0 2 3 1 3 0 1 11 1 1 12 1 1 13 1 2 14 0 2 1 2 3 0 3 1
result:
ok ok
Test #14:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
27 36
output:
13 2 5 1 10 1 2 3 0 3 1 2 4 0 4 1 0 1 6 0 1 7 0 2 8 1 2 0 1 9 0 1 4 0 1 11 1 2 12 0 2 1 1 13 1 1 4 1
result:
ok ok
Test #15:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
55 84
output:
17 2 7 1 13 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 0 1 8 0 2 9 1 2 0 1 10 0 2 11 1 4 0 1 12 0 1 6 0 1 14 1 2 15 0 3 1 1 16 1 1 17 1 1 6 1
result:
ok ok
Test #16:
score: 0
Accepted
time: 0ms
memory: 3696kb
input:
297208 929600
output:
57 2 21 1 40 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 0 2 22 1 2 0 2 23 1 3 0 1 24 0 1 25 0 1 26 0 2 27 1 7 0 1...
result:
ok ok
Test #17:
score: 0
Accepted
time: 0ms
memory: 3540kb
input:
45728 589156
output:
54 5 21 1 2 1 3 1 4 1 40 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 0 1 22 0 1 23 0 1 24 0 2 25 1 5 0 2 26 1 6 0 2...
result:
ok ok
Test #18:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
129152 138000
output:
47 2 15 1 32 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 0 1 16 0 1 17 0 1 18 0 1 19 0 2 20 1 2 0 2 21 1 3 0 1 22 0 2 23 1 5 0 2 24 1 6 0 1 25 0 1 26 0 1 27 0 2 28 1 10 0 1 29 0 1 30 0...
result:
ok ok
Test #19:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
245280 654141
output:
56 3 21 1 2 1 40 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 0 1 22 0 1 23 0 2 24 1 4 0 2 25 1 5 0 2 26 1 6 0 2 27 ...
result:
ok ok
Test #20:
score: 0
Accepted
time: 0ms
memory: 3700kb
input:
202985 296000
output:
52 2 18 1 36 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 0 1 19 0 1 20 0 2 21 1 2 0 1 22 0 1 23 0 1 24 0 1 25 0 2 26 1 7 0 1 27 0 1 28 0 1 29 0 2 30...
result:
ok ok
Test #21:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
438671 951305
output:
57 2 21 1 40 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 0 2 22 1 2 0 2 23 1 3 0 1 24 0 2 25 1 5 0 1 26 0 1 27 0 1...
result:
ok ok
Test #22:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
425249 739633
output:
56 2 20 1 39 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 0 1 21 0 2 22 1 2 0 2 23 1 3 0 1 24 0 2 25 1 5 0 1 26 0 1 27 0 2 28 1...
result:
ok ok
Test #23:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
551207 961718
output:
56 1 20 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 0 2 21 1 39 0 2 22 1 2 0 1 23 0 2 24 1 4 0 1 25 0 2 26 1 6 0 1 27 0 2 28 1...
result:
ok ok
Test #24:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
114691 598186
output:
55 4 21 1 2 1 3 1 40 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 0 1 22 0 1 23 0 2 24 1 4 0 1 25 0 1 26 0 2 27 1 7 ...
result:
ok ok
Test #25:
score: 0
Accepted
time: 0ms
memory: 3724kb
input:
234654 253129
output:
46 1 16 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 0 1 17 1 1 18 1 2 19 1 33 0 1 20 0 2 21 1 3 0 2 22 1 4 0 2 23 1 5 0 1 24 0 1 25 0 2 26 1 8 0 2 27 1 9 0 1 28 0 1 29 0 2 ...
result:
ok ok
Test #26:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
554090 608599
output:
52 1 18 1 2 3 0 3 1 2 4 0 4 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 0 1 19 0 1 20 0 2 21 1 37 0 1 22 0 2 23 1 3 0 1 24 0 1 25 0 2 26 1 6 0 1 27 0 1 28 0 2 29 1 9 0 ...
result:
ok ok
Extra Test:
score: 0
Extra Test Passed