Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
35176 杯总 [CSP-J2021]网络连接 C++ 解答错误 55 1 MS 368 KB 1423 2021-12-13 13:52:33

Tests(11/20):


#include<bits/stdc++.h> using namespace std; int n; map<string,int>maps; bool Check(string s) { ios::sync_with_stdio(false); cin.tie(0); int A[5]= {0},B[5]= {0}; int dot=0,colon=0,num=0; for(int i=0,j; i<s.size(); i++) { if(s[i]=='.') { if(dot>=3 || colon==1 || i==0 || num>3 || B[num]!=1 ) return 0; dot++; num++; } else if(s[i]==':') { if(dot!=3 || colon==1 || B[num]!=1 || num!=3) return 0; colon++; num++; } else { if(s[i]=='0' && i!=s.size()-1 && isdigit(s[i+1])) return 0; for(j=i; isdigit(s[j]) && j<s.size(); j++) { A[num]=(A[num]<<3)+(A[num]<<1)+s[j]-48; if(A[num]<0 || A[num]>65535 || (num<4 && A[num]>255)) return 0; if(isdigit(s[j+1])) i++; else break; } B[num]=1; } } return (dot!=3 || colon!=1 || B[4]==0) ? 0 : 1; } int main() { cin>>n; string mac,ad; for(int i=1; i<=n; i++) { cin>>mac>>ad; if(!Check(ad)) cout<<"ERR\n"; else if(mac[0]=='S') { if(maps[ad]) printf("FAIL\n"); else { maps[ad]=i; printf("OK\n"); } } else { if(maps[ad]) printf("%d\n",maps[ad]); else printf("FAIL\n"); } } return 0; }


测评信息: