POJ1023 The Fun Number System

简介:
#include<iostream>
#include <string>
using namespace std;

string str;;
__int64 N;
int k;
int result[100];
int index = 0;

int main()
{
    int t,i;
    cin>>t;
    while(t--)
    {
        cin >> k;
        cin >> str;
        cin >> N;
        for(i = k-1;i >= 0; --i)
        {
            if((N%2==1) || (N%2 == -1))
            {//奇数
                
                if(str[i] == 'p')
                {//减1
                    N-=1;
                    N/=2;
                }
                else if (str[i] == 'n')
                {//加1
                    N+=1;
                    N/=2;
                }
                result[index++] = 1;
            }
            else
            {//偶数
                N/=2;
                result[index++] = 0;
            }
        }
        if(N != 0)
        {
            cout<<"Impossible";
        }
        else
        {
            for(i = k-1; i >= 0; --i)
            {
                cout << result[i];
            }
        }
        cout << endl;
        index = 0;
    }
    return 0;
}
复制代码


本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2009/09/13/1565702.html,如需转载请自行联系原作者
目录
相关文章
遍历字符串,String line = xxx for(int i = 0;i<line.length();i++){system.out.println(line.chartAt(i)); 单个
遍历字符串,String line = xxx for(int i = 0;i<line.length();i++){system.out.println(line.chartAt(i)); 单个
print与println的区别
print与println的区别
79 0
|
机器学习/深度学习
CF1552A Subsequence Permutation(string排序大法)
CF1552A Subsequence Permutation(string排序大法)
37 0
初学算法之---pta fun with numbers
初学算法之---pta fun with numbers
|
算法
LeetCode 306. Additive Number
累加数是一个字符串,组成它的数字可以形成累加序列。 一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。 给定一个只包含数字 '0'-'9' 的字符串,编写一个算法来判断给定输入是否是累加数。 说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。
121 0
LeetCode 306. Additive Number
HDOJ(HDU) 1708 Fibonacci String
HDOJ(HDU) 1708 Fibonacci String
92 0
LeetCode之Number Complement
LeetCode之Number Complement
69 0
hdu 3336 Count the string
点击打开链接hdu 3336 思路:kmp+next数组的应用 分析: 1 题目要求的是给定一个字符串s,求字符串s的所有的前缀在s的匹配的次数之和mod10007. 2 很明显n1,为什么要从n开始而不是1开始呢,这里因为是要求前缀的匹配数而不是后缀; 4 求sum的时候注意每一步都有可能超过范围,所以就要求一次sum同时取模一次。
847 1