QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#752522#9519. Build a ComputerlinjingxiangAC ✓1ms3724kbC++141.7kb2024-11-16 07:24:112024-11-16 07:24:11

Judging History

This is the latest submission verdict.

  • [2024-11-16 07:24:11]
  • Judged
  • Verdict: AC
  • Time: 1ms
  • Memory: 3724kb
  • [2024-11-16 07:24:11]
  • Submitted

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,我给组数据试试?

详细

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