4015:邮箱验证
-
总时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
-
POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括:
1)有且仅有一个'@'符号
2)'@'和'.'不能出现在字符串的首和尾
3)'@'之后至少要有一个'.',并且'@'不能和'.'直接相连
满足以上3条的字符串为合法邮箱,否则不合法,
编写程序验证输入是否合法
输入
- 输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100 输出
-
每一行输入对应一行输出
如果验证合法,输出 YES
如果验证非法:输出 NO
样例输入
-
.a@b.com pku@edu.cn cs101@gmail.com cs101@gmail
样例输出
-
NO YES YES NO
- 查看
- 提交
- 统计
- 提示
- 提问
-
- 代码:
#include<iostream> #include<string> #include<algorithm> using namespace std; bool judge(string str){ if(count(str.begin(),str.end(),'@') != 1) return false; if(str[0] == '@' || str[0] == '.' || str.back() == '@' || str.back() == '.') return false; size_t pos = str.find('@'); if(str[pos + 1] == '.' || str[pos - 1] == '.') return false; return count(str.begin() + pos, str.end(),'.') >= 1; } int main(){ string str; while(cin>>str){ if(judge(str)) puts("YES"); else puts("NO"); } return 0; }