1084. Broken Keyboard (20)-水题
2024-08-31 12:10:05
#include <iostream>
#include <cstdio>
#include <string.h>
#include <algorithm> using namespace std;
const int maxn=;
char str1[maxn];
char str2[maxn];
int vis[]; int main()
{
scanf("%s %s",str1,str2);
memset(vis,,sizeof(vis));
int len1=strlen(str1),len2=strlen(str2);
for(int i=;i<len1;i++){
if('a'<=str1[i] && str1[i]<='z'){
vis[str1[i]-'a']=;
}
else if('A'<=str1[i] && str1[i]<='Z'){
vis[str1[i]-'A']=; //傻了,之前写成str1[i]-'A'+'a' ....
str1[i]=str1[i]-'A'+'a';//转化成小写,方便后续操作
}
else if(str1[i]=='_'){
vis[]=; //'_'
}
else{
vis[str1[i]-''+]=; //0~9
}
}
for(int i=;i<len2;i++){
if('a'<=str2[i] && str2[i]<='z'){
vis[str2[i]-'a']=;
}
else if('A'<=str2[i] && str2[i]<='Z'){
vis[str2[i]-'A']=;
}
else if(str2[i]=='_'){
//if里面一开始少写了个=。。。导致WA。。。
vis[]=; //'_'
}
else{
vis[str2[i]-''+]=;
}
}
//要按照在str1中的顺序输出,并且是以大写字母的形式
for(int i=;i<len1;i++){
if(str1[i]=='_'){
if(vis[]==){
printf("_");
vis[]=;//输过一次就不需要再输出了
}
}
else if('a'<=str1[i] && str1[i]<='z'){
if(vis[str1[i]-'a']==){
printf("%c",str1[i]-'a'+'A');
vis[str1[i]-'a']=;
}
}
else{
if(vis[str1[i]-''+]==){
printf("%c",str1[i]);
vis[str1[i]-''+]=;
}
}
}
return ;
}
最新文章
- 【Win 10应用开发】使用RichEditBox控件应注意的问题
- Xamarin安装和跳坑指南
- AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;
- Maven使用常见问题整理
- C#读写文件总结
- LeetCode Weekly Contest 12
- [上传下载] C#修改DownLoadHelper上传下载帮助类 (转载)
- Entity Framework - Func引起的数据库全表查询
- CCNA实验(1) -- 基本配置
- select查询原理
- warfare(最大生成树裸题)
- 【C#】面试题整理
- apache、nginx、iis 全球分布
- sublime Text 3常用Html/Css基础插件安装
- 安装使用pyclone进行克隆演化推断
- MySQL 字符串截取SUBSTRING()函数
- 自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程
- [树上倍增+二分答案][NOIP2012]运输计划
- bzoj4556(sam)
- excel 获取当前日期