QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#333757 | #8058. Binary vs Ternary | ucup-team3160# | WA | 1ms | 7908kb | C++14 | 1.3kb | 2024-02-20 14:59:07 | 2024-02-20 14:59:08 |
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(){
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: 0
Wrong Answer
time: 1ms
memory: 7908kb
input:
3 1 111 110110 1101010 1111 111111
output:
-1 2 3 5 6 5 6 5 6 6 7 2 3 3 4 4 5 5 6 6 7 7 8 3 4 3 4 4 5 4 5 4 5 5 6
result:
wrong answer (l,r) is invalid (test case 2)