QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#694687 | #8058. Binary vs Ternary | SSAABBEERR | AC ✓ | 30ms | 3864kb | C++20 | 2.5kb | 2024-10-31 18:27:54 | 2024-10-31 18:28:02 |
Judging History
answer
#include<bits/stdc++.h>
#define lowbit(x) (x & (-x))
#define endl "\n"
#define ll long long
#define int long long
using namespace std;
#define pii pair<int, int>
#define rep(i, a, b) for(int i = a; i <= b; i ++ )
#define pre(i, a, b) for(int i = a; i >= b; i -- )
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
const int N = 1e6 + 10;
int n, m, k;
int a[N], b[N];
string g(string s)
{
string res;
int w = 1, sum = 0;
pre(i, s.size() - 1, 0)
{
int ww = s[i] - '0';
ww *= w;
sum += ww;
w *= 3;
}
while(sum)
{
if(sum & 1) res += '1';
else res += '0';
sum /= 2;
}
reverse(res.begin(), res.end());
return res;
}
void solve()
{
// string s;
// cin >> s;
// cout<<s<<" ";
// cout<<g(s);
// cout<<endl;
string x, y;
cin >> x >> y;
x = " " + x;
y = " " + y;
n = x.size() - 1, m = y.size() - 1;
if(x == y)
{
cout << 0 << endl;
return;
}
if(n == 1 || m == 1)
{
if(x != y)
{
cout << -1 << endl;
return;
}
}
vector<pii>ans;
int len = n;
pre(i, n, 1)
{
if(x[i] != '0') continue;
int l = i;
while(l - 1 >= 1 && x[l - 1] == '0') l -- ;
ans.push_back({l, i});
ans.push_back({l - 1, l});
len -= (i - l);
i = l;
}
x.clear();
x += " ";
rep(i, 1, len) x += '1';
pre(i, len - 2, 1)
{
ans.push_back({i, i + 1});
}
if(len > 2) ans.push_back({2, 2 + (len - 2) * 2});
n = 2;
int now = 1;
while(n < m)
{
ans.push_back({now, now + 1});
ans.push_back({now, now + 1});
ans.push_back({now + 1, now + 2});
now ++ , n ++ ;
}
x.clear();
x += " ";
rep(i, 1, m) x += '1';
rep(i, 1, m - 1)
{
if(y[i] == '1' && y[i + 1] == '0')
{
int l = i, r = i + 1;
while(r + 1 <= m && y[r + 1] == '0') r ++ ;
pre(j, r - 1, l)
{
ans.push_back({j, j + 1});
ans.push_back({j + 1, j + 2});
}
i = r;
}
}
cout << ans.size() << endl;
rep(i, 0, ans.size() - 1)
{
cout << ans[i].first << " " << ans[i].second << endl;
}
}
signed main()
{
IOS;
int _;
_ = 1;
cin >> _;
while(_ -- )
{
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3636kb
input:
3 1 111 110110 1101010 1111 111111
output:
-1 30 6 6 5 6 3 3 2 3 4 5 3 4 2 3 1 2 2 10 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 2 3 3 4 4 5 5 6 6 7 7 8 15 2 3 1 2 2 6 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6
result:
ok Haitang Suki (3 test cases)
Test #2:
score: 0
Accepted
time: 1ms
memory: 3524kb
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:
8 4 5 3 4 2 3 1 2 2 6 1 2 1 2 2 3 -1 6 2 4 1 2 1 2 2 4 1 2 2 3 11 2 2 1 2 2 3 1 2 2 6 1 2 1 2 2 3 2 3 2 3 3 4 10 2 2 1 2 1 2 1 2 2 3 2 3 2 3 3 4 3 4 4 5 4 3 4 2 3 1 2 2 4 8 5 5 4 5 3 3 2 3 3 4 2 3 1 2 2 8 4 3 3 2 3 1 2 2 4 -1 10 5 5 4 5 2 2 1 2 3 4 2 3 1 2 2 8 1 2 2 3 11 2 2 1 2 1 2 1 2 2 3 2 3 2 3 ...
result:
ok Haitang Suki (1000 test cases)
Test #3:
score: 0
Accepted
time: 1ms
memory: 3864kb
input:
1000 1110 110 1 11 1110 110 101 111 100 1001 10 110 1001 10011 10 11010 100 111 1101 1001 1 111 1 1 11 1 1011 1101 1 11 111 10 100 1110 1001 10 10 11 1 10 11 11 111 1100 10100 11001 10 110 1001 101 1 10011 100 10 10110 111 1100 110 11010 11 1000 1101 1010 1 1100 100 11010 1 1011 1 11001 1110 11 1110...
output:
10 4 4 3 4 2 3 1 2 2 6 1 2 1 2 2 3 2 3 3 4 -1 10 4 4 3 4 2 3 1 2 2 6 1 2 1 2 2 3 2 3 3 4 7 2 2 1 2 1 2 2 4 1 2 1 2 2 3 12 2 3 1 2 1 2 1 2 2 3 2 3 2 3 3 4 2 3 3 4 1 2 2 3 7 2 2 1 2 1 2 1 2 2 3 2 3 3 4 17 2 3 1 2 1 2 2 4 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 2 3 3 4 1 2 2 3 15 2 2 1 2 1 2 1 2 2 3 2 3 2 ...
result:
ok Haitang Suki (1000 test cases)
Test #4:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
1000 11110010 11110001 11010110 1001 11011110 1001110 111101100 111111100 110 101111001 10000100 10 1100100 101010 100 1000 1011110 110101 1001 10001111 100011111 1001111011 1110100 1010 1001100001 1000 11 101101 1000001111 11100 101001101 1 11 111001111 100101101 10 1 10111 1111000111 1101 10111 11...
output:
34 8 8 7 8 5 6 4 5 5 6 4 5 3 4 2 3 1 2 2 12 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 6 7 7 8 5 6 6 7 4 5 5 6 23 8 8 7 8 5 5 4 5 3 3 2 3 6 7 5 6 4 5 3 4 2 3 1 2 2 14 1 2 1 2 2 3 2 3 2 3 3 4 2 3 3 4 1 2 2 3 32 8 8 7 8 3 3 2 3 6 7 5 6 4 5 3 4 2 3 1 2 2 14 1 2 1 2 2 3 2 3 ...
result:
ok Haitang Suki (1000 test cases)
Test #5:
score: 0
Accepted
time: 2ms
memory: 3524kb
input:
1000 11 10 1111101 10 1011010001 1101010100 101110 101101001 110 110 100001 1111 10 1001100 1101101000 1 1 1110 11 1110000 110111010 1001000 110100000 1 1110101001 10 11111 1001101 110 1110 111 11 11000 1 111111 1 101111111 1100100100 101101100 1111110 10001 1001 1100110100 100 1001 101001 100011000...
output:
2 1 2 2 3 10 6 6 5 6 5 6 4 5 3 4 2 3 1 2 2 12 1 2 2 3 47 7 9 6 7 5 5 4 5 2 2 1 2 6 7 5 6 4 5 3 4 2 3 1 2 2 14 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 7 8 8 9 8 9 8 9 9 10 2 3 3 4 4 5 5 6 6 7 7 8 9 10 10 11 8 9 9 10 38 6 6 5 6 2 2 1 2 4 5 3 4 2 3 1 2 2 10 1 2 1 2 2...
result:
ok Haitang Suki (1000 test cases)
Test #6:
score: 0
Accepted
time: 4ms
memory: 3800kb
input:
1000 1010100001 1101101111 1000001111 1100000010 1101001000 1111011000 1011010000 1101111100 1000011000 1001010110 1100010110 1001001000 1000111110 1101100000 1101011010 1111000101 1110111001 1000000010 1111110000 1001100000 1000010111 1010101110 1110101000 1111100001 1110110101 1011100001 110111101...
output:
40 6 9 5 6 4 4 3 4 2 2 1 2 5 6 4 5 3 4 2 3 1 2 2 12 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 7 8 8 9 8 9 8 9 9 10 2 3 3 4 5 6 6 7 45 2 6 1 2 4 5 3 4 2 3 1 2 2 10 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 7 8 8 9 8 9 8 9 9 10 7 8 8 ...
result:
ok Haitang Suki (1000 test cases)
Test #7:
score: 0
Accepted
time: 4ms
memory: 3632kb
input:
1000 1010010100 1100011110 1111100001 1110100100 1001011000 1001011110 1110100101 1000001010 1110010010 1110110010 1010001000 1110011110 1010101110 1100011011 1000000100 1100100001 1010001011 1111101100 1001110101 1010001011 1001001010 1010010111 1011001010 1110001111 1000001000 1111001011 100111101...
output:
47 9 10 8 9 7 7 6 7 4 5 3 4 2 2 1 2 6 7 5 6 4 5 3 4 2 3 1 2 2 14 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 7 8 8 9 8 9 8 9 9 10 4 5 5 6 3 4 4 5 2 3 3 4 9 10 10 11 42 6 9 5 6 5 6 4 5 3 4 2 3 1 2 2 12 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7...
result:
ok Haitang Suki (1000 test cases)
Test #8:
score: 0
Accepted
time: 14ms
memory: 3536kb
input:
1000 10001101010010010010011111000100011110010111010011100110011 101100010110011111000010101 101111101000100010010101 10100101000010100001101000001101010111 1101110100111100111110101101101000110101010010011100 1110100100101011000011 1100001100101011010000111010111000000101 11101000100000101000001111...
output:
175 56 57 55 56 52 53 51 52 47 48 46 47 45 45 44 45 41 41 40 41 38 39 37 38 31 33 30 31 27 29 26 27 20 21 19 20 17 18 16 17 14 15 13 14 11 12 10 11 9 9 8 9 7 7 6 7 2 4 1 2 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 24 25 23 24 22...
result:
ok Haitang Suki (1000 test cases)
Test #9:
score: 0
Accepted
time: 15ms
memory: 3648kb
input:
1000 100000000110011000110010101 11110000 10010001001001111000110110001001011101011110 111011111001100111101101000011111110 1011110110011110110011000111010011111000100110011010101000000 1101001 1001010 10101110110001101010001000111001000111011000110111111110 11101001110000011100 10100010111000000110...
output:
53 26 26 25 26 24 24 23 24 21 22 20 21 16 18 15 16 12 13 11 12 2 9 1 2 14 15 13 14 12 13 11 12 10 11 9 10 8 9 7 8 6 7 5 6 4 5 3 4 2 3 1 2 2 30 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 8 9 6 7 7 8 5 6 6 7 4 5 5 6 183 44 44 43 44 39 39 38 39 37 37 36 37 33 33 32 33 3...
result:
ok Haitang Suki (1000 test cases)
Test #10:
score: 0
Accepted
time: 14ms
memory: 3848kb
input:
1000 11111100001000000001110111011111001010011110100001100001011 1111001111111111100011111011011101100110000011010010 110010011001001110101 1011101100 1110 110111111010010011110010101101000101111000111111111010111111000 10101101101010001100111 11110001001011110010 1111010110010101010001011 111 10011...
output:
250 57 57 56 57 52 55 51 52 46 49 45 46 44 44 43 44 38 39 37 38 36 36 35 36 33 34 32 33 27 27 26 27 23 23 22 23 12 19 11 12 7 10 6 7 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 24 25 23 24 22 23 21 22 20 21 19 20 18 19 17 18 16 17 15 16 14 15 13 14 12 13...
result:
ok Haitang Suki (1000 test cases)
Test #11:
score: 0
Accepted
time: 15ms
memory: 3592kb
input:
1000 111100011011111100101110101 11111011000101100110001011101011 10011001010101110111011111111110 11010100000 11001100100011101000101111011011 10011101010110110 101011000011 101110100101101010000111010010101101 1110111110000101110100101101 1101110111100000110001001011000001111101010011 111111100110...
output:
151 26 26 25 26 24 24 23 24 20 20 19 20 17 18 16 17 10 10 9 10 5 7 4 5 22 23 21 22 20 21 19 20 18 19 17 18 16 17 15 16 14 15 13 14 12 13 11 12 10 11 9 10 8 9 7 8 6 7 5 6 4 5 3 4 2 3 1 2 2 46 1 2 1 2 2 3 2 3 2 3 3 4 3 4 3 4 4 5 4 5 4 5 5 6 5 6 5 6 6 7 6 7 6 7 7 8 7 8 7 8 8 9 8 9 8 9 9 10 9 10 9 10 10...
result:
ok Haitang Suki (1000 test cases)
Test #12:
score: 0
Accepted
time: 15ms
memory: 3592kb
input:
1000 11000001100100011000100101001101100011100100110010111011000 1111101101110 1000001011101111011010011001001100011000 11001110110101100011001011000111110111010000111010010 100101011 1011010011111100 100 11101000000110100100110100110001100111110111110010001001010 11110000011100011110010100000011100...
output:
109 57 59 56 57 54 54 53 54 50 50 49 50 47 48 46 47 43 44 42 43 40 41 39 40 34 36 33 34 31 31 30 31 27 28 26 27 25 25 24 25 22 23 21 22 18 20 17 18 13 15 12 13 10 11 9 10 3 7 2 3 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 24 25 23 24 22 23 21 22 20 21 1...
result:
ok Haitang Suki (1000 test cases)
Test #13:
score: 0
Accepted
time: 28ms
memory: 3656kb
input:
1000 1110101101011010111111111001001001101101001111100001000010110001 1111100111110101010011010111100100111110001111111100010100010010 1101011000001010101000000011111111101101010111100011110011100011 1110010001100011111001000000111111111111000010001100000100000010 10111101100001101001001011010001101...
output:
321 61 63 60 61 58 58 57 58 53 56 52 53 48 51 47 48 41 42 40 41 39 39 38 39 36 36 35 36 32 33 31 32 29 30 28 29 26 27 25 26 16 16 15 16 14 14 13 14 11 11 10 11 9 9 8 9 6 6 5 6 4 4 3 4 50 51 49 50 48 49 47 48 46 47 45 46 44 45 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31...
result:
ok Haitang Suki (1000 test cases)
Test #14:
score: 0
Accepted
time: 29ms
memory: 3656kb
input:
1000 1010011000110100110000001111001100100010111111101001000101111100 1111001000000001111001010110011101110101000010000001010011001010 1001100100100101111101011111011010100111000001100101001110001010 1010101100010001100001111010010110011101010001011101010110110011 11101011110000111111101011111011001...
output:
334 63 64 62 63 57 57 56 57 53 55 52 53 50 51 49 50 48 48 47 48 40 40 39 40 36 38 35 36 33 34 32 33 29 30 28 29 19 24 18 19 15 16 14 15 13 13 12 13 8 10 7 8 4 5 3 4 2 2 1 2 45 46 44 45 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 2...
result:
ok Haitang Suki (1000 test cases)
Test #15:
score: 0
Accepted
time: 30ms
memory: 3664kb
input:
1000 1011111000111010111001111001000011101001100011100000101110000101 1001100010000111101011001010000101100110101101010100101011001010 1001101111000001100111110111011111110011101010101101010110011100 1100101011100110001011000111111101001001111100110010100101001110 11111101100001101001110111010011001...
output:
328 63 63 62 63 58 61 57 58 54 54 53 54 48 52 47 48 42 44 41 42 38 39 37 38 36 36 35 36 29 32 28 29 26 27 25 26 20 21 19 20 16 16 15 16 14 14 13 14 8 10 7 8 2 2 1 2 45 46 44 45 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 24 25 23 ...
result:
ok Haitang Suki (1000 test cases)
Test #16:
score: 0
Accepted
time: 24ms
memory: 3588kb
input:
1000 1001101101110101111101001110000111110100010100101111101001011001 1110001000100001001001001111111100101101101000100100111000001011 1000001000001110101011111011011111011101011100001101101111100001 1100111111001100100010010101001000101000101100100011101001111011 10110101000000011111000111111110000...
output:
341 62 63 61 62 59 59 58 59 56 57 55 56 54 54 53 54 48 48 47 48 45 46 44 45 43 43 42 43 39 41 38 39 37 37 36 37 28 31 27 28 23 24 22 23 21 21 20 21 15 15 14 15 13 13 12 13 9 9 8 9 6 6 5 6 2 3 1 2 52 53 51 52 50 51 49 50 48 49 47 48 46 47 45 46 44 45 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35...
result:
ok Haitang Suki (1000 test cases)
Test #17:
score: 0
Accepted
time: 20ms
memory: 3596kb
input:
1000 1101011111000011000110010000110000111110001000101110100110001110 1100101111001111100011111011001111000110100110110001010111101011 1010110111100001110110101111101000000111010111010101010110010111 1010011010011111001010111101100011110100111111100100111011101101 11100011010101001001001001110100000...
output:
308 64 64 63 64 58 60 57 58 54 55 53 54 52 52 51 52 48 48 47 48 44 46 43 44 40 42 39 40 31 34 30 31 25 28 24 25 22 23 21 22 17 19 16 17 11 14 10 11 5 5 4 5 3 3 2 3 43 44 42 43 41 42 40 41 39 40 38 39 37 38 36 37 35 36 34 35 33 34 32 33 31 32 30 31 29 30 28 29 27 28 26 27 25 26 24 25 23 24 22 23 21 2...
result:
ok Haitang Suki (1000 test cases)
Extra Test:
score: 0
Extra Test Passed