有没有大佬帮忙看看我这代码哪错了
(具体错误位置:第二组样例,倒数第三个输出两个结果,最后一组样例被吞)
#include<iostream>
#include<cstdio>
using namespace std;
const int N=1050;
struct
{
int a,b,c,d,e;
int yes=0;
}node[N];
int cnt;
int main()
{
int n;
cin>>n;
while(n--)
{
string s;
bool go=1;
cin>>s;
cnt++;
int o=scanf("%d.%d.%d.%d:%d",&node[cnt].a,&node[cnt].b,&node[cnt].c,&node[cnt].d,&node[cnt].e);
if(o!=5 || node[cnt].a>255 || node[cnt].a<0 || node[cnt].b>255 || node[cnt].b<0 || node[cnt].c>255 || node[cnt].c<0 || node[cnt].d>255 || node[cnt].d<0 || node[cnt].e>65535 || node[cnt].e<0)
{
go=0;
cout<<"ERR"<<endl;
}
if(go)
{
if(s=="Server")
{
if(cnt==1)
{
node[cnt].yes=1;
cout<<"OK"<<endl;
}
for(int i=1;i<cnt;i++)
{
if(node[i].yes==1 && node[cnt].a==node[i].a && node[cnt].b==node[i].b && node[cnt].c==node[i].c && node[cnt].d==node[i].d && node[cnt].e==node[i].e)
{
cout<<"FAIL"<<endl;
break;
}
else
{
node[cnt].yes=1;
cout<<"OK"<<endl;
break;
}
}
}
else
{
for(int i=1;i<=cnt;i++)
{
if(node[i].yes==1 && node[cnt].a==node[i].a && node[cnt].b==node[i].b && node[cnt].c==node[i].c && node[cnt].d==node[i].d && node[cnt].e==node[i].e)
{
cout<<i<<endl;
break;
}
else
{
cout<<"FAIL"<<endl;
break;
}
}
}
}
}
return 0;
}