本地过去了,但你谷 wa 了
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a,b,c;
int la,lc,l0;
getline(cin,a);
getline(cin,b);
//是'*'还是'+'
getline(cin,c);
la = a.size();
lc = c.size();
l0 = abs(la-lc);
//两数的位数差
if(b[0] == '*')
{
for(int i = 0; i < la; i++) cout << a[i];
//首位'1'以及a数的'0'
for(int i = 1; i < lc; i++) cout << c[i];
//b数的'0'
}//乘法:'0'的个数相加,首位的'1'不变
else
{
if(la > lc)
{
for(int i = 0; i < l0; i++) cout << a[i];
//输出较大数前l0位
for(int i = 0; i < lc; i++) cout << c[i];
//输出较小数
}
else if(lc > la)
{
for(int i = 0; i < l0; i++) cout << c[i];
//输出较大数前l0位
for(int i = 0; i < la; i++) cout << a[i];
//输出较小数
}
else//位数相同,'0'不变首位两个'1'相加变成'2'
{
cout << "2";
for(int i = 1; i < la; i++) cout << a[i];
}
}//加法:较大数的前l0位不变,后面变成较小数
return 0;
}