Jabber ID(codeforce)
来源:互联网 发布:中国每年生活垃圾数据 编辑:程序博客网 时间:2024/05/21 15:06
题目连接:http://codeforces.com/contest/21/problem/A
题目大意:判断字符串是否符合要求
题目思路:直接处理字符串
A. Jabber ID
time limit per test
2 secondsmemory limit per test
64 megabytesinput
standard inputoutput
standard outputJabber ID on the national Berland service «Babber» has a form <username>@<hostname>[/resource], where
- <username> — is a sequence of Latin letters (lowercase or uppercase), digits or underscores characters «_», the length of<username> is between 1 and 16, inclusive.
- <hostname> — is a sequence of word separated by periods (characters «.»), where each word should contain only characters allowed for<username>, the length of each word is between 1 and 16, inclusive. The length of<hostname> is between 1 and 32, inclusive.
- <resource> — is a sequence of Latin letters (lowercase or uppercase), digits or underscores characters «_», the length of<resource> is between 1 and 16, inclusive.
There are the samples of correct Jabber IDs: mike@codeforces.com,007@en.codeforces.com/contest.
Your task is to write program which checks if given string is a correct Jabber ID.
Input
The input contains of a single line. The line has the length between 1 and 100 characters, inclusive. Each characters has ASCII-code between 33 and 127, inclusive.
Output
Print YES or NO.
Sample test(s)
Input
mike@codeforces.com
Output
YES
Input
john.smith@codeforces.ru/contest.icpc/12
Output
NO
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;bool flag=true;void parse_user(string s){ if(s.size()<1||s.size()>16) { flag=false; return ; } for(int i=0; i<s.size(); i++) { if(!isalpha(s[i])&&!isdigit(s[i])&&s[i]!='_') { flag=false; return ; } }}void parse_host(string s){ if(s.size()<1||s.size()>32) { flag=false; return ; } string cc; for(int i=0; i<s.size(); i++) { if(s[i]=='.') { if(cc.size()<1||cc.size()>16) { flag=false; return ; } for(int j=0; j<cc.size(); j++) { if(!isalpha(cc[j])&&!isdigit(cc[j])&&cc[j]!='_') { flag=false; return ; } } cc=""; } else cc+=s[i]; } if(cc.size()<1||cc.size()>16) { flag=false; return ; } for(int j=0; j<cc.size(); j++) { if(!isalpha(cc[j])&&!isdigit(cc[j])&&cc[j]!='_') { flag=false; return ; } }}void parse_res(string s){ if(s.size()<1||s.size()>16) flag=false; for(int i=0; i<s.size(); i++) { if(!isalpha(s[i])&&!isdigit(s[i])&&s[i]!='_') { flag=false; return ; } }}int main(){ string str; string username,hostname,resource; while(cin>>str) { flag=true; int cur=0; while(cur<str.size()&&str[cur]!='@') { username+=str[cur]; cur++; } if(cur>=str.size()) { flag=false; } parse_user(username); cur++; while(cur<str.size()&&str[cur]!='/') { hostname+=str[cur]; cur++; } parse_host(hostname); if(cur<str.size()) { cur++; while(cur<str.size()) { resource+=str[cur]; cur++; } parse_res(resource); } if(flag) printf("YES\n"); else printf("NO\n"); } return 0;}
- Jabber ID(codeforce)
- A. Jabber ID
- codeforces 21A Jabber ID
- CodeForces 21A Jabber ID (简单题)
- 【模拟+读入】#21 A. Jabber ID
- Jabber
- jabber
- Jabber
- jabber
- jabber
- Jabber
- codeforce
- codeforce
- Codeforce
- Codeforce
- Codeforce
- Codeforce
- Codeforce
- android 布局如何支持多种不同屏幕尺寸
- OpenGL ES 2.0基本概念
- Hebernate QBC 语言
- 函数返回类型为指针类型时的一些问题
- ARM基础:MMU 异常向量表 重映射
- Jabber ID(codeforce)
- 使用ASIHTTPRequest异步提交数据
- 如何成为一名架构师?
- hdu 1227 Fast Food(DP线性决策)
- MyEclipse注册码生成代码
- OpenGL ES2.0 基本编程
- NSTimer 动画
- day 9 (frequency 5)
- PowerDesigner Name和Comment 互相转化问题