过题代码:
#include <iostream>
using namespace std;
int a[65],b[65],sg[65],c[65];
int main(void)
{
int n;
cin >> n;
for(int i=0;i<n;i++)
cin >> sg[i];
for(int i=0;i<n;i++)
cin >> a[i];
for(int i=0;i<n;i++)
cin >> b[i];
for(int i=0;i<n;i++)
{
c[i] += a[i] + b[i];
if(c[i]>=2){
if(sg[i]==sg[i+1])c[i+1] += c[i]/2,c[i] = c[i] % 2;
else c[i+1] -= c[i]/2,c[i] = c[i]%2;
}else if(c[i]<0){
if(sg[i]==sg[i+1])c[i+1] -= (-c[i]+1)/2,c[i] = (-c[i])%2;
else c[i+1] += (-c[i]+1)/2,c[i] = (-c[i])%2;
}
}
for(int i=0;i<n;i++)
{
cout << c[i];
if(i!=n-1)cout << " ";
}
return 0;
}