include cstdio include stack using namespace std int main int count sc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <cstdio>
#include <stack>
using namespace std;
int main()
{
int count;
scanf("%d\n",&count);
int cs=0;
while(++cs<count+1)
{
stack<int> a, b, res;
char c;
while ((c=getchar())!=' ')
a.push(c-48);
while ((c=getchar())!='\n')
b.push(c-48);
res.push(0);
while (!a.empty() || !b.empty())
{
int top = res.top();
res.pop();
if (!a.empty() && !b.empty())
{ res.push(top+a.top()+b.top()); a.pop(); b.pop(); }
else if (!a.empty() && b.empty())
{ res.push(top+a.top()); a.pop(); }
else if (a.empty() && !b.empty())
{ res.push(top+b.top()); b.pop(); }
if (res.top()==2)
{
res.pop(); res.push(0); res.push(1);
}
else if (res.top()==3)
{
res.pop(); res.push(1); res.push(1);
}
else res.push(0);
}
while(res.top()>1)
{
int top = res.top();
res.pop();
if (top==2)
{
res.pop(); res.push(0); res.push(1);
}
else if (top==3)
{
res.pop(); res.push(1); res.push(1);
}
}
while(!res.top() && res.size()-1) res.pop();
printf("%d ",cs);
if (res.empty()) printf("0");
else while(!res.empty()) { printf("%d", res.top()); res.pop(); }
printf("\n");
}
}