QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#345061#8058. Binary vs Ternary111445#WA 1ms3620kbC++23884b2024-03-06 01:52:342024-03-06 01:52:34

Judging History

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

  • [2024-03-06 01:52:34]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3620kb
  • [2024-03-06 01:52:34]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int i,j,k,n,m,t;
string s1,s2;

vector<pair<int,int> > v;

void add(int x,int y){
	v.push_back({x+1,y+1});
}

bool fuck(){
	if(s1==s2)return 1;
	if(s1=="1"||s2=="1")return 0;
	
	int i,j,k,n;
	
	n=s1.size();
	for(i=0;i<n;i++){
		if(s1[i]=='0'){
			add(i-1,i);
			s1[i]='1';
		}
	}
	
	while(s1.size()>2){
		add(0,1);
		add(1,3);
		s1.pop_back();
	}
	
	
	while(s1.size()<s2.size()){
		add(0,1);
		add(0,1);
		add(1,2);
		s1+="1";
	}
	
	n=s2.size();
	for(i=1;i<n;i++){
		if(s2[i]=='0'){
			add(i-1,i);
			add(i,i+1);
		}
	}
	return 1;
}

int main(){
	ios::sync_with_stdio(0); cin.tie(0);
	cin>>t;
	while(t--){
		cin>>s1>>s2;
		v={};
		if(fuck()){
			cout<<v.size()<<'\n';
			for(auto [i,j]:v){
				cout<<i<<' '<<j<<'\n';
			}
		}
		else cout<<"-1\n";
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
1
111
110110
1101010
1111
111111

output:

-1
31
2 3
5 6
1 2
2 4
1 2
2 4
1 2
2 4
1 2
2 4
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3
2 3
3 4
4 5
5 6
6 7
7 8
16
1 2
2 4
1 2
2 4
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3

result:

ok Haitang Suki (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3620kb

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:

11
3 4
4 5
1 2
2 4
1 2
2 4
1 2
2 4
1 2
1 2
2 3
-1
11
1 2
2 3
3 4
1 2
2 4
1 2
2 4
1 2
2 4
1 2
2 3
11
1 2
1 2
2 4
1 2
2 4
1 2
1 2
2 3
1 2
1 2
2 3
9
1 2
1 2
1 2
2 3
1 2
1 2
2 3
3 4
4 5
6
2 3
3 4
1 2
2 4
1 2
2 4
8
2 3
4 5
1 2
2 4
1 2
2 4
1 2
2 4
3
2 3
1 2
2 4
-1
10
1 2
4 5
1 2
2 4
1 2
2 4
1 2
2 4
1 2
2 ...

result:

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