zoukankan      html  css  js  c++  java
  • UVa 740

    称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作。

                  给你适当的编码值。寻求相应的字符串。

    分析:模拟。字符串。

    简单题,标记shift的升降分类处理就可以。

    说明:数据量较小,直接扫描查询就可以。

    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <cstdio>
    
    using namespace std;
    
    #define down 1
    #define up   0
    
    string ushift,dshift,buf;
    
    int code(int space)
    {
    	int value = 0;
    	for (int i = 0 ; i < 5 ; ++ i) {
    		value <<= 1;
    		value += buf[space+i]-'0';
    	}
    	return value;
    }
    
    int main()
    {
    	getline(cin, dshift);
    	getline(cin, ushift);
    	while (getline(cin, buf)) {
    		int state = down;
    		for (int i = 0 ; i < buf.length() ; i += 5) {
    			int value = code(i);
    			if (value == 27) {
    				state = down;
    			}else if (value == 31) {
    				state = up;
    			}else if (state == down)
    				cout << dshift[value];
    			else cout << ushift[value];
    		}
    		cout << endl;
    	}
    	return 0;
    }
    

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Direct2D 变换
    DWrite 文字
    Windows基础窗体编程
    .net delegate(委托类型)
    详说new和overrid区别
    类与结构区别
    IIS的Gzip压缩
    ASP.NET 状态服务和session丢失问题解决方案
    Fiddler使用
    Castle系列教程(转)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4660583.html
Copyright © 2011-2022 走看看