poj 1023(n不为0)
#includeusing namespace std; int main(){ int t,k,i; long long n; char a[100],out[100]; scanf("%d",&t); while(t--){ scanf("%d%s%lld",&k,a,&n); if(n==0){ printf("0\n"); continue; } for(i=k-1;i>-1;i--){ if(n%2==1||n%2==-1){ out[i] = 1; if(a[i]=='p'){ n = (n-1)/2; } else{ n = (n+1)/2; } } else{ out[i] = 0; n /= 2; } } if(n==0){ for(i=0;i ){ printf("%d",out[i]); } printf("\n"); } else{ printf("Impossible\n"); } } return 0; }