PATB1033 旧键盘打字

判断标准还是比较严的,不要想着糊弄过去,监测点5过了几次才过去,是大小写坏键问题,大写坏了小写也坏,vice versa

#include
using namespace std;


int main(){
   	
   	string bad;
   	string text;
   	getline(cin,bad);
   	getline(cin,text);
   	bool badkey[1000]={true};
   	bool badup=false;
   	for(int i=0;i<bad.size();i++){
   		int temp = bad[i]-'!';
   		badkey[temp]=true;
   		if(temp>='a'-'!'&&temp<='z'-'!'){
            badkey[temp+'A'-'a']=true;
        }
        if(temp>='A'-'!'&&temp<='Z'-'!'){
            badkey[temp+'a'-'A']=true;
        }
   		if(temp=='+'-'!'){
   			badup=true;
		   }
	}
	  
	for(int i=0;i<text.size();i++){
		int temp=text[i]-'!';
		if(badkey[temp]==false){
			if(badup==true){
				if(temp>='A'-'!'&&temp<='Z'-'!'){
					
				}
				else{
					cout<<text[i];
                    
				}
			}
			else{
				cout<<text[i];
                
			}
		}
		
	}
   
   
    return 0;
}

你可能感兴趣的:(PATB)