CF41C Email address 题解
2024-09-06 11:25:11
Content
有一个字符串 \(s\),它满足以下要求:
- 只包含
.
、@
和小写字母。 - 不以
.
为开头或者结尾。 - 不以
@
为开头或者结尾,并只能包含一个@
。
请将其进行如下操作,使得这个字符串长度最小:
- 将子串
dot
转化为.
。 - 将子串
at
转化为@
。
数据范围:\(1\leqslant |s|\leqslant 100\)。
Solution
模拟就好,其实不需要什么 STL 里面的高级函数(只有一个 \(\texttt{size}\) 函数)。
首先得要找到子串 \(\texttt{dot}\) 和 \(\texttt{at}\) 的位置,尤其要注意的是 @
最多只能用一次,所以开个变量判断一下。还有不能够在开头和结尾出现 .
或者 @
。
Code
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int atflag;
string s;
int main() {
cin >> s;
int len = s.size();
for(int i = 0; i < len;) {
if(i > 0 && i < len - 3 && s[i] == 'd' && s[i + 1] == 'o' && s[i + 2] == 't') {
printf(".");
i += 3;
} else if(i > 0 && i < len - 2 && s[i] == 'a' && s[i + 1] == 't' && !atflag) {
printf("@");
i += 2;
atflag = 1;
} else {
printf("%c", s[i]);
++i;
}
}
return 0;
}
最新文章
- 发布报错:Error ITMS-90635 - Invalid Mach-O in bundle - submitting to App store
- 【2016.3.30项目技术记录】]VS2010自动生成MFC单文档框架程序的修改:去除属性框,在CViewTree类中添加鼠标单击响应
- JavaScript测试工具
- 【技术贴】解决MySql连接不上 ip远程连接Host is not allowed to conn
- 设计模式23---设计模式之装饰模式(Decorator)(结构型)
- 本地或者是koala软件编译less文件为css
- 边框圆角化方式(原文链接http://www.cnblogs.com/SJP666/p/4678730.html)
- libimobiledevice命令
- MVC view视图获取Html.RenderAction方式带来的参数
- zookeeper C API
- 并发编程(三):从AQS到CountDownLatch与ReentrantLock
- 使用Eclipse远程调试
- 2/17 笔记 n:字符串索引、切片、数据转换笔记
- vs2017 打开cs文件提示无法识别的GUID格式
- linux文件管理之查找
- Bash shell 命令行 快捷键
- POJ 2240 - Arbitrage - [bellman-ford求最短路]
- nginx 跨域解决
- intellij idea 部署项目的时候 图中application context 写不写有什么关系?有什么作用?
- Linux学习系列——零基础开始