65分求助,有WA有RE的,求调
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
string s,t;
bool flag;
int n,num,cnt,cntt,web[5][1005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
num=cnt=cntt=0;
flag=0;
cin>>s>>t;
if(t[0]=='.'||t[0]==':')flag=1;
int len=t.length();
for(int j=0;j<=len;j++)
{
if(t[j]==':'||t[j]=='.'||t[j]=='\0')
{
cnt++;
if(j==0||t[j-1]=='.'||t[j-1]==':'||num>=66536||(num>=256&&t[j]!='\0')||(cntt==3&&t[j]!=':')||(cntt<3&&t[j]!='.'))
{
flag=1;
break;
}
web[cntt][i]=num;
cntt++;
num=0;
}
else
{
if(j!=0&&t[j]=='0'&&t[j+1]!='.'&&t[j+1]!=':'&&t[j+1]!='\0'&&(t[j-1]=='.'||t[j-1]==':'))
{
flag=1;
break;
}
num*=10;
num+=t[j]-'0';
}
}
if(cntt!=5)flag=1;
if(flag)
{
cout<<"ERR"<<endl;
web[0][i]=web[1][i]=web[2][i]=web[3][i]=web[4][i]=-1;
continue;
}
if(s[0]=='S')
{
for(int j=1;j<i;j++)
{
if(web[0][j]==web[0][i]&&web[1][j]==web[1][i]&&web[2][j]==web[2][i]&&web[3][j]==web[3][i]&&web[4][j]==web[4][i])
{
flag=1;
cout<<"FAIL"<<endl;
web[0][i]=web[1][i]=web[2][i]=web[3][i]=web[4][i]=-1;
break;
}
}
if(!flag)cout<<"OK"<<endl;
}
else
{
for(int j=1;j<i;j++)
{
if(web[0][j]==web[0][i]&&web[1][j]==web[1][i]&&web[2][j]==web[2][i]&&web[3][j]==web[3][i]&&web[4][j]==web[4][i])
{
flag=1;
cout<<j<<endl;
break;
}
}
web[0][i]=web[1][i]=web[2][i]=web[3][i]=web[4][i]=-1;
if(!flag)cout<<"FAIL"<<endl;
}
}
return 0;
}