#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
long long n;
int main(){
#ifndef ONLINE_JUDGE
freopen("a.in","r",stdin);
#endif
int t,a[100],k;
cin>>t;
while(t--){
string s;
cin>>k>>s>>n;
long long big=0,sml=0;
for(int i=0;i<k;i++)
if(s[k-i-1]=='p') big|=((1LL)<<i);
else sml|=((1LL)<<i);
if((n<-sml&&-sml<=0)||(n>big&&big>=0)) { puts("Impossible"); continue; }
for(int i=k-1;i>=0;i--)
if(n&1){
a[i]=1;
n>>=1; //为啥n/=2改成这样就ac,我靠。。
n+=(s[i]=='n'?1:0);
}else{
a[i]=0;
n>>=1;
}
for(int i=0;i<k;i++)
cout<<a[i];
cout<<endl;
}
return 0;
}
POJ 1023 The Fun Number System
最新推荐文章于 2018-01-07 15:50:21 发布
本文介绍了一段使用C++实现的代码,解决了一个关于数列的问题。通过使用头文件和输入输出流,作者展示了如何高效地处理数列问题,并通过一系列逻辑判断和循环实现了问题的求解。
104

被折叠的 条评论
为什么被折叠?



