QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#676175#8058. Binary vs Ternarykarito#WA 2ms3820kbC++201.4kb2024-10-25 20:33:212024-10-25 20:33:22

Judging History

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

  • [2024-10-25 20:33:22]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3820kb
  • [2024-10-25 20:33:21]
  • 提交

answer

#include <iostream>
#include <string>
#include <vector>
#include <utility>
using namespace std;

void work();

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

void work()
{
	string x, y;
	cin >> x >> y;
	if (x == y)
	{
		cout << "0\n";
		return;
	}
	if (x == "1" || y == "1")
	{
		cout << "-1\n";
		return;
	}
	vector<pair<int, int>> ans;
	for (int i = 0; i < x.size(); i++)
	{
		if (x[i] == '0')
		{
			x[i] = '1';
			ans.push_back(make_pair(i - 1, i));
		}
	}
	if (x.size() > y.size())
	{
		int t = x.size() - y.size();
		for (int i = 0; i <= t; i++)
			ans.push_back(make_pair(x.size() - i - 2, x.size() - i - 1));
		ans.push_back(make_pair(x.size() - t - 1, x.size() + t));
		ans.push_back(make_pair(x.size() - 2, x.size() - 1));
		while (x.size() > y.size())
			x.pop_back();
	}
	while (x.size() < y.size())
	{
		ans.push_back(make_pair(x.size() - 2, x.size() - 1));
		ans.push_back(make_pair(x.size() - 2, x.size() - 1));
		ans.push_back(make_pair(x.size() - 1, x.size()));
		x.push_back('1');
	}
	for (int i = 0; i < x.size(); i++)
	{
		if (y[i] == '0')
		{
			ans.push_back(make_pair(i - 1, i));
			ans.push_back(make_pair(i, i + 1));
			x[i] = '0';
		}
	}
	cout << ans.size() << '\n';
	for (auto i : ans)
	{
		cout << i.first + 1 << ' ' << i.second + 1 << '\n';
	}
	return;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 2ms
memory: 3620kb

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:

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

result:

wrong answer (l,r) is invalid (test case 1)