QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#333761#8058. Binary vs Ternaryucup-team3160#WA 0ms7732kbC++141.3kb2024-02-20 15:00:322024-02-20 15:00:32

Judging History

你现在查看的是最新测评结果

  • [2024-02-20 15:00:32]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:7732kb
  • [2024-02-20 15:00:32]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e6+5;
struct Op{
	int l,r;
}op[N];
int len=0;
int a[N],b[N];
void insert(int l,int r){
	op[++len]=(Op){l,r};
}
void output(){
	cout<<len<<"\n";
	for(int i=1;i<=len;i++)cout<<op[i].l<<" "<<op[i].r<<"\n";
}
signed main(){
	int T;
	cin>>T;
	while(T--){
		string s,t;
		cin>>s>>t;
		len=0;
		int cnt1=0;
		int lens=s.size(),lent=t.size();
		for(int i=0;i<lens;i++)a[i+1]=s[i]-'0';
		for(int i=0;i<lent;i++){
			b[i+1]=t[i]-'0';
			if(b[i+1])cnt1++;
		}
		if(lens==1){
			if(lent==1&&b[1]==a[1]){
				cout<<0<<"\n";
				continue;
			}
			else cout<<"-1\n";
			continue;
		}
		for(int i=1;i<=lens;i++){
			if(a[i]==0){
				insert(i-1,i);
				a[i]=1;
			}
		}
		insert(lens-1,lens);
		insert(lens-1,lens);
		insert(lens,lens+1);
		a[lens+1]=1;
		lens++;
		if(lens<=lent){
			for(int i=lens;i<lent;i++){
				insert(i-1,i);
				insert(i-1,i);
				insert(i,i+1);
				a[i+1]=1;
			}
		}
		else{
			if(lent==1){
				cout<<"-1\n";
				continue;
			}
			else{
				for(int i=lens;i>lent;i--){
					insert(i-1,i);
					insert(i-2,i-1);
					insert(i-1,i+2);
					insert(i-2,i-1);
				}
			}
		}
		for(int i=2;i<=lent;i++){
			if(a[i]!=b[i]){
				insert(i-1,i);
				insert(i,i+1);
			}
		}
		output();
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 7696kb

input:

3
1
111
110110
1101010
1111
111111

output:

-1
11
2 3
5 6
5 6
5 6
6 7
2 3
3 4
4 5
5 6
6 7
7 8
6
3 4
3 4
4 5
4 5
4 5
5 6

result:

ok Haitang Suki (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 7732kb

input:

1000
11100
111
1
11110
10001
10
1011
1111
10
1110
1100
11
11010
11
110
11
1
10001
10110
10
10
11111
10000
1001
10
1
11
10111
11
10
1
100
11
10100
1
10
101
11
1100
110
11
1110
1
1001
1
11111
10
10010
10
11001
110
1010
10011
1110
10100
1001
1001
101
100
1
1001
11
101
11
101
1001
1
1
1011
1
10
10
1011
...

output:

17
3 4
4 5
4 5
4 5
5 6
5 6
4 5
5 8
4 5
4 5
3 4
4 7
3 4
3 4
2 3
3 6
2 3
-1
24
1 2
2 3
3 4
4 5
4 5
5 6
5 6
4 5
5 8
4 5
4 5
3 4
4 7
3 4
3 4
2 3
3 6
2 3
2 3
1 2
2 5
1 2
1 2
2 3
8
1 2
3 4
3 4
4 5
4 5
3 4
4 7
3 4
9
1 2
1 2
1 2
2 3
2 3
2 3
3 4
3 4
4 5
17
2 3
3 4
3 4
3 4
4 5
4 5
3 4
4 7
3 4
3 4
2 3
3 6
2 3
...

result:

wrong answer (l,r) is invalid (test case 12)