Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
34720 | seanlsy | [CSP-J2021]网络连接 | C++ | 通过 | 100 | 9 MS | 316 KB | 932 | 2021-12-12 15:43:16 |
#include<bits/stdc++.h> using namespace std; map<string,int> vis; int n; bool check(char s[]){ int a=-1,b=-1,c=-1,d=-1,e=-1; int t=sscanf(s,"%d.%d.%d.%d:%d",&a,&b,&c,&d,&e); if(t!=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; char s2[35]; sprintf(s2,"%d.%d.%d.%d:%d",a,b,c,d,e); int lens=strlen(s); bool ok; for(int i=0;i<lens;i++){ if(s[i]==s2[i]) ok=1; else{ ok=0; break; } } return ok; } int main(){ cin>>n; for(int i=1;i<=n;i++){ char op[1005],ad[1005]; cin>>op>>ad; string t(ad); if(op[0]=='S'){ if(!check(ad)) cout<<"ERR"<<endl; else if(vis.count(t)) cout<<"FAIL"<<endl; else{ cout<<"OK"<<endl; vis[t]=i;//保存编号 } } else{ if(!check(ad)) cout<<"ERR"<<endl; else if(!vis.count(t)) cout<<"FAIL"<<endl; else cout<<vis[ad]<<endl; } } return 0; }