题意

输入两段字符串,根据给定的伪代码得到两字符串各自的新字符串,如果相同则输出这一个相同的新字符串,否则输出各自的新字符串。

思路

分别遍历两个字符串,把每个字符转化为数字进入判断条件,比较大小后再次转化为字符存储另一个新开的字符串中。最后比较两新得到字符串即可。

Solution

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	string str, arr, s = "", t = "";
	cin >> str >> arr;
	for (int i = 1; i < str.size(); i++) {
		int u = (int)(str[i] - '0');
		int v = (int)(str[i - 1] - '0');
		if (u % 2 == v % 2) {
			s += (char)(max(u, v) + '0');
		}
	}
	for (int i = 1; i < arr.size(); i++) {
		int u = (int)(arr[i] - '0');
		int v = (int)(arr[i - 1] - '0');
		if (u % 2 == v % 2) {
			t += (char)(max(u, v) + '0');
		}
	}
	if (s == t) cout << s << endl;
	else {
		cout << s << endl << t << endl;
	}
	return 0;
}