1 solutions
-
0
C++ :
#include<iostream> #include<sstream>//stringstream头文件 #include<map>//map头文件 typedef long long ll;//也可以不开long long using namespace std; bool f(string s){ ll a,b,c,d,e; if(sscanf(s.c_str(),"%lld.%lld.%lld.%lld:%lld",&a,&b,&c,&d,&e)!=5){//输入的数字不符合要求,不是五个数 return 0; } if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255||e<0||e>65535){//输入数据范围不符合要求 return 0; } stringstream ss;//stringstream方便进出字符 ss<<a<<'.'<<b<<'.'<<c<<'.'<<d<<':'<<e;//将输入中的数字组合成字符串流 if(ss.str()!=s){//转换成字符串比较 return 0; } return 1; } map<string,ll>m;//定义了一个用string作为索引,并拥有相关联的指向long long的指针. ll n; string op,ad; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>op>>ad; if(!f(ad)){//不符合要求 cout<<"ERR"; endl(cout); continue;//还有下一个,所以要continue而非break } if(op[0]=='S'){//Server if(m[ad]){//1or0,所以直接用 cout<<"FAIL"; endl(cout); }else{ m[ad]=i; cout<<"OK"; endl(cout); } }else{ if(!m.count(ad)){//解释一下count函数: 返回指定元素出现的次数, (但是因为key值不会重复,所以只能是1 or 0) cout<<"FAIL";//没出现 endl(cout); }else{ cout<<m[ad];//输出 endl(cout); } } } return 0; }
- 1
Information
- ID
- 9128
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By