QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#333761 | #8058. Binary vs Ternary | ucup-team3160# | WA | 0ms | 7732kb | C++14 | 1.3kb | 2024-02-20 15:00:32 | 2024-02-20 15:00:32 |
Judging History
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;
}
Details
Tip: Click on the bar to expand more detailed information
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)