zoukankan      html  css  js  c++  java
  • PAT:1033. 旧键盘打字(20) AC

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    int harsh[300];
    char str1[100066],str2[100066];
    
    int main()
    {
      fill(harsh,harsh+300,true);    //初始化全都是好的
      gets(str1);
      gets(str2);
      int len1=strlen(str1),len2=strlen(str2);
      bool shift=0;            //记录shift有没有坏掉
      for(int i=0 ; i<len1 ; ++i)
      {  
        if(str1[i]>='A' && str1[i]<='Z')
        {  
          str1[i]+=32;        //改为小写字母的ASC    或者写成str1[i]-'A'+'a'
        }
        harsh[str1[i]]=false;      //此按键失效
      }
      for(int i=0 ; i<len2 ; ++i)
      {
        if(str2[i]>='A' && str2[i]<='Z')  //大写字母的时候要看shift是否正常  【skill】上档键用‘+’表示
        {
          int tmp=str2[i]-'A'+'a';  //改为小写字母的ASC
          if(harsh[tmp]==true && harsh['+']==true)    //按键正常且shift也正常
            printf("%c",str2[i]);  //输出该大写字母
        }
        else if(harsh[str2[i]]==true)
          printf("%c",str2[i]);
      }
      return 0;
    }
  • 相关阅读:
    Grails
    Grails
    Grails
    Grails
    Grails
    Grails
    PG
    TopShelf安装多实例
    Js 实现自定义事件
    HttpContext未null处理
  • 原文地址:https://www.cnblogs.com/Evence/p/4309715.html
Copyright © 2011-2022 走看看