poj1023
#include<iostream>
#include<string>
using namespace std;
int main()
{
int T;
cin >> T;
while(T--)
{
int i, j, k;
long long m;
int a[100]={0}, b[100]={0};
string s;
cin >> k >> s >> m;
int op=1;
if(m<0)
op=0, m=-m;
for(i=0,j=k-1; i<k; i++, j--)
{
if(s[i] == 'n' && op)
b[j] = 1;
else if(s[i]=='p' && !op)
b[j] = 1;
a[i] = m%2;
m/=2;
}
for(i=0; i<=k; i++)
{
a[i+1] += a[i]/2;
a[i] %= 2;
if(a[i] && b[i])
a[i+1]++;
}
if(a[k] || a[k+1] || m)
cout << "Impossible" <<endl;
else
{
for(i=k-1; i>=0; i--)
cout << a[i];
cout << endl;
}
}
return 0;
}
poj1023的更多相关文章
- POJ1023 The Fun Number System
题目来源:http://poj.org/problem?id=1023 题目大意: 有一种有趣的数字系统.类似于我们熟知的二进制,区别是每一位的权重有正有负.(低位至高位编号0->k,第i位的权 ...
随机推荐
- System.Data.DbType的字符串和数据库中字符串类型对应关系
前两天项目中因为历史原因数据库中的一个字段是varchar类型,在做SQL参数化处理时候默认都是DbType.String, 免得查询出现数据转换,于是做类型一致,搜了下对应关系还没找到,只好自己打开 ...
- this的一个作用 当前对象
class Person{ String name="小花"; int age=19; void eat(){ System.out.println("在吃饭" ...
- NOIP2012 借教室 Splay初探
终于把区间操作的Splay搞明白了…… Splay的大致框架是这样的: [代码中的Zig-Zig和Zig-Zag操作其实是可以优化的,实际只需要3次passDown和3次update] templat ...
- 【POJ3481】【splay】Double Queue
Description The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office in Bucharest ...
- 赋值,copy和deepcopy
python的复制,拷贝,和深拷贝. >>> a=[23,3]>>> b=a>>> b.append(234)>>> a[23, ...
- js string操作总结
var str = "0123456789"; console.log(str.substring(0)); //------------"0123456789" ...
- visual studio中验证控件的使用
1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交信息. RequiredFieldValidator控件中,主要设置三个属性: (1)ErrorM ...
- python进度条代码
import sys import time def view_bar(num,total): rate = num / total rate_num = int(rate * 100) r = ' ...
- [原创]用python写了一个简单的markdown编辑器
以前我常用openoffice记录东西,最喜欢它的当然是在linux上能用了,还有里面的公式输入,前几天才了解markdown这个东东,初步了解发现它正是我需要的东西,可以用它随心所欲地记录些东西,而 ...
- hdu 1229 超级大水题
Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Submit Status Desc ...