解题代码:
#include <iostream>
using namespace std;
char str[110];
int main()
{
int t;
cin >> t;
while(t --)
{
int n;
cin >> n >> str;
int ans = 0;
char q[110],hh,tt = -1;
for(int i = 0; str[i]; i++)
{
if(str[i] == '0') q[++ tt] = '+';
if(str[i] == '1')
{
if(ans == 0)
{
ans += str[i] - '0';
q[++ tt] = '+';
}
else if(ans == 1)
{
ans -= str[i] - '0';
q[++ tt] = '-';
}
}
}
for(int i = hh + 1; i <= tt; i ++) cout << q[i];
puts("");
}
return 0;
}
感叹:小白初学算法,第一次独立在解题过程中使用数组模拟队列。