QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#640578#8058. Binary vs TernaryRillloWA 1ms3800kbC++231.6kb2024-10-14 14:26:002024-10-14 14:26:00

Judging History

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

  • [2024-10-14 14:26:00]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3800kb
  • [2024-10-14 14:26:00]
  • 提交

answer

// https://qoj.ac/contest/1522/problem/8056
// Travel 2
#include<bits/stdc++.h>

using i64 = long long;
const int N = 3000;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout << std::fixed << std::setprecision(10);
    
    int t;
    std::cin >> t;
    while (t--) {
        std::string a, b;
        std::cin >> a >> b;
        
        if (b.size() == 1 || a.size() == 1) {
            std::cout << (b == a ? 0 : -1) << "\n";
            continue;     
        }
        int len1 = a.length(), len2 = b.length();

        int cnt = 0;
        std::vector<std::pair<int, int>> ans;
        for (int i = 0; i < a.size(); i++) {
            if (a[i] == '0') {
                cnt++;
                ans.emplace_back(i, i + 1);
            }
        } 
        if (len1 < len2) {
            for (int i = 0; i < len2 - len1; i++) {
                ans.emplace_back(1, 2);
                ans.emplace_back(1, 2);
                ans.emplace_back(2, 3);
            }
        } else if (len1 > len2) {
            for (int i = 0; i < len1 - len2; i++) {
                ans.emplace_back(i + 1, i + 2);
            }
            ans.emplace_back(2, len1 - len2 + 1);
            ans.emplace_back(2, 3);
        }

        int len = len2;
        for (int i = 0; i < len; i++) {
            if (b[i] == '0') {
                ans.emplace_back(i, i + 1);
                ans.emplace_back(i + 1, i + 2);
            }
        }
        std::cout << ans.size() << "\n";
        for (auto [i, j] : ans) {
            std::cout << i << " " << j << "\n";
        }
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
1
111
110110
1101010
1111
111111

output:

-1
11
2 3
5 6
1 2
1 2
2 3
2 3
3 4
4 5
5 6
6 7
7 8
6
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: 3800kb

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:

6
3 4
4 5
1 2
2 3
2 3
2 3
-1
10
1 2
2 3
3 4
1 2
2 3
3 4
2 4
2 3
1 2
2 3
1
1 2
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 3
2 3
2 3
7
2 3
4 5
1 2
2 3
3 4
2 4
2 3
4
2 3
1 2
2 2
2 3
-1
9
1 2
4 5
1 2
2 3
3 4
2 4
2 3
1 2
2 3
10
1 2
1 2
1 2
2 3
1 2
1 2
2 3
1 2
1 2
2 3
11
1 2
2 3
3 4
4 5
1 2
2 2...

result:

wrong answer S!=T after all operations (test case 1)