65分求调

P7911 [CSP-J 2021] 网络连接

一样,65分 ```cpp #include <bits/stdc++.h> using namespace std; struct str_dz{ int a,b,c,d,e; }; int read(int& i,string s){ int res=0; while(s[i]>='0'&&s[i]<='9'){ res=res*10+(s[i]-'0'); i++; } return res; } int n,tot,isf,str_s[5]={255,255,255,255,65535}; char str_g[4]={'.','.','.',':'} ; string s2,s; vector<str_dz> v1; vector<int> f; int find(str_dz dz){ for(int i=0;i<tot;i++){ if(v1[i].a==dz.a&&v1[i].b==dz.b&&v1[i].c==dz.c&&v1[i].d==dz.d&&v1[i].e==dz.e){ return f[i]; } } return -1; } int main(){ cin >> n; for(int i=1;i<=n;i++){ cin >> s2 >> s; isf=0; int j=0,dz[5]; for(int k=0;k<5;k++){ dz[k]=read(j,s); if(k<4){ if(s[j]!=str_g[k]) isf=1; } if(dz[k]>str_s[k]) isf=1; j++; } str_dz str; str.a=dz[0],str.b=dz[1],str.c=dz[2],str.d=dz[3],str.e=dz[4]; if(isf==1){ cout << "ERR\n"; continue; } if(s2[0]=='S'){ if(find(str)!=-1){ cout << "FAIL\n"; }else{ v1.push_back(str); f.push_back(i); tot++; cout << "OK\n"; } }else{ int m=find(str); if(m==-1){ cout << "FAIL\n"; }else{ cout << m << endl; } } } return 0; } ```
by ybc2027_yangshoukuo @ 2023-10-17 20:18:19


|