📄 pku 1023 正负进制.txt
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
using namespace std;
//PKU 1023 正负进制
#define NMAX 100
void solve(char *str,__int64 x,__int64 num)
{
__int64 t=x,i;
int b[NMAX];
for(i=num-1;i>=0;i--)
{
if(str[i]=='p')
{//正进制
if(t%2==0)
{
t/=2;
b[i]=0;
}
else
{
t=(t-1)/2;
b[i]=1;
}
}
else
{//负进制
if(t%2==0)
{
t/=2;
b[i]=0;
}
else
{
t=(t+1)/2;
b[i]=1;
}
}
}
if(t!=0) printf("Impossible\n");
else
{
for(i=0;i<num;i++) printf("%d",b[i]);
printf("\n");
}
}
int main()
{
__int64 i,x,num,cnum;
char str[NMAX];
scanf("%I64d",&cnum);
for(i=1;i<=cnum;i++)
{
scanf("%I64d %s %I64d",&num,str,&x);
solve(str,x,num);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -