QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#610959#8058. Binary vs Ternaryyimg#WA 0ms3552kbC++201.5kb2024-10-04 18:16:502024-10-04 18:16:51

Judging History

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

  • [2024-10-04 18:16:51]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3552kb
  • [2024-10-04 18:16:50]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using i64 = long long;
void work() {
	string A, B;
	cin >> A >> B;
	int lb = B.length();
	if(A.length() == 1 && B.length() == 1) {
		if(A == B) cout << "0\n";
		else cout << "-1\n";
		return;
	}
	if(A.length() == 1 || B.length() == 1) {
		cout << "-1\n";
		return;
	}
	vector<pair<int, int>> ans;
	for(int i = 0; i < A.size(); ++i) {
		if(A[i] == '0') ans.emplace_back(i, i + 1), A[i] = '1';
	}
	while(A.length() < lb) {
		ans.emplace_back(A.length() - 1, A.length());
		ans.emplace_back(A.length() - 1, A.length());
		A += '1';
		ans.emplace_back(A.length() - 1, A.length());
	}
	if(A.length() > lb) {
		ans.emplace_back(A.length() - 1, A.length());
		ans.emplace_back(A.length() , A.length() + 1);
		A.pop_back();
		while(A.length() > lb - 1) {
			ans.emplace_back(A.length() - 1, A.length());
			ans.emplace_back(A.length(), A.length() + 1);
			A.pop_back();
		}
//		ans.emplace_back(99999, 99999);
		ans.emplace_back(A.length() + 1, A.length() + 2);
		ans.emplace_back(A.length(), A.length() + 1);
	}

//	cout << A << "\n";
	for(int i = lb - 1; i >= 0; --i) {
		if(B[i] == '0') {
			ans.emplace_back(i, i + 1);
			ans.emplace_back(i + 1, i + 2);
			A[i] = '0';
		}
	}
//	cout << A << "\n" << B << "\n";
//	if(A != B || ans.size() > 500) while(1);
	cout << ans.size() << "\n";
	for(auto i : ans) {
		cout << i.first << " " << i.second << "\n";
	}
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin >> t;
	while(t--)
		work();
}

详细

Test #1:

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

input:

3
1
111
110110
1101010
1111
111111

output:

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

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:

10
3 4
4 5
4 5
5 6
3 4
4 5
2 3
3 4
3 4
2 3
-1
15
1 2
2 3
3 4
4 5
5 6
3 4
4 5
2 3
3 4
1 2
2 3
2 3
1 2
1 2
2 3
1
1 2
9
1 2
1 2
1 2
2 3
2 3
2 3
3 4
3 4
4 5
10
2 3
3 4
3 4
4 5
2 3
3 4
1 2
2 3
2 3
1 2
12
2 3
4 5
4 5
5 6
3 4
4 5
2 3
3 4
1 2
2 3
2 3
1 2
7
2 3
2 3
3 4
1 2
2 3
2 3
1 2
-1
14
1 2
4 5
4 5
5 6
3...

result:

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