zoukankan      html  css  js  c++  java
  • Turing Tape CodeForces

    codeforces 133c

    题意

    给你一串字符串,包含1~105个字符。按照规则输出数字。

    1. The 8-bit binary notation of the ASCII-code of the previous printed character is reversed. When the first element of the array is processed, the result of this step is considered to be 0. 将ASCII码反转过来。

    2. The i-th element of the array is subtracted from the result of the previous step modulo 256. 用前一个值减去这个值,并且模256,如果这是第一个那么前一个值为0.

    3. The binary notation of the result of the previous step is reversed again to produce ASCII-code of the i-th character to be printed. 输出,继续。

    样例

    Input

    Hello, World!
    

    Output

    238
    108
    112
    0
    64
    194
    48
    26
    244
    168
    24
    16
    162
    

    Note

    Let's have a closer look at the beginning of the example. The first character is "H" with ASCII-code 72 = 010010002. Its reverse is 000100102 = 18, and this number should become the result of the second step of processing. The result of the first step is considered to be 0, so the first element of the array has to be (0 - 18) mod 256 = 238, where a mod b is the remainder of division of a by b.

    思路

    • 按照他的步骤做就好了
    • 输入的时候卡了一下,要用getline(cin,s); s是string类型的。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    const int MAXN=105;
    int a[MAXN];
    const int MOD= 256;
    string s;
    int main(){
    	getline(cin,s);
    	int len=s.size();
    	int tmp,t;
    	for(int i=1;i<=len;i++){
    		a[i]=s[i-1];
    		tmp=a[i];
    		t=0;
    		int j=0;
    		while(tmp){
    			j++;
    			if(tmp&1){
    				t+=1<<(8-j);
    			}
    			tmp>>=1;
    		}
    		a[i]=t;
    		printf("%d
    ", (a[i-1]-a[i]+MOD)%MOD);
    	}	
    	return 0;
    }
    
  • 相关阅读:
    Linux学习 -- Shell编程 -- 字符截取命令
    Linux学习 -- Shell编程 -- 正则表达式
    Linux学习 -- Shell基础 -- Bash变量
    Linux学习 -- Shell基础 -- Bash基本功能
    Linux学习 -- Shell基础 -- 概述
    Linux学习 -- 备份与恢复
    Linux学习 -- 启动管理
    Linux学习 -- 日志管理
    chapter9_3 协同程序实现迭代器
    chapter9_2 管道与过滤器
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/12802679.html
Copyright © 2011-2022 走看看