poj 1023(n不为0)


#include
using 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;
}