RT
本蒟蒻鼓捣了半天写了个又臭又长又烂的代码...
#include<bits/stdc++.h>
#include<cstring>
using namespace std;
struct network{
string type;
long long num,a,b,c,d,e,connected,tmp;
bool error,fail,success;
}net[114514];
int n,a=0,b=0;
char address[114514];
int main(){
//freopen("network4.in","r",stdin);freopen("network.ans","w",stdout);
cin>>n;
for(int i=0;i<n;i++){
net[i].error=false;
net[i].num=i;
cin>>net[i].type>>address;
for(int c=0;c<strlen(address);c++){
if(address[c]=='.')
a++;
if(address[c]==':')
b++;
}
sscanf(address,"%lld.%lld.%lld.%lld:%lld",&net[i].a,&net[i].b,&net[i].c,&net[i].d,&net[i].e);
if(a!=3||b!=1){
net[i].error=true;
//cout<<"0";
a=0;b=0;
} else {
if(net[i].a<=255&& net[i].b<=255&& net[i].c<=255&& net[i].d<=255&& net[i].e<=65535){
net[i].error=false;
for(int c=0;c<=strlen(address);c++){
net[i].tmp=c;
if(address[c]==':'&&address[c+1]==':'){
net[i].error=true;
//cout<<"1";
break;
}else if(address[c]=='.'&&address[c+1]=='.'){
net[i].error=true;
//cout<<"2";
break;
}else if(address[c]==':'&&address[c+1]=='.'){
net[i].error=true;
// cout<<"3";
break;
}else if(address[c]=='.'&&address[c+1]==':'){
net[i].error=true;
// cout<<"4";
break;
}else if(address[c]==':'&&c==strlen(address)-1){
net[i].error=true;
// cout<<"5";
break;
}else if(address[c]=='.'&&c==0){
net[i].error=true;
// cout<<"6";
break;
} else if(address[c]==':'&&c==0){
net[i].error=true;
// cout<<"6";
break;
} else if((address[c-1]=='.'||c==0)&&address[c]=='0'&&address[c+1]>='0'&&address[c+1]<='9'&&address[c+1]!=':'&&address[c+1]!='.'){
net[i].error=true;
// cout<<"7";
break;
} else if(address[c-1]==':'&&address[c]=='0'&&(address[c+1]>='0'&&address[c+1]<='9')){
net[i].error=true;
// cout<<"8";
break;
}
}
} else {
net[i].error=true;
// cout<<"9";
}
a=0;b=0;
}
}
for(int i=0;i<n;i++){
if(net[i].error==true){
cout<<"ERR"<</*net[i].tmp<<*/endl;
} else {
for(int a=0;a<n;a++){
if(net[i].type=="Client"){
if(net[a].type=="Server" &&net[i].a==net[a].a&& net[i].b==net[a].b&& net[i].c==net[a].c&&
net[i].d==net[a].d&& net[i].e==net[a].e &&net[i].num>net[a].num){
net[i].success=true;
net[i].connected=a+1;
break;
} else {
net[i].success=false;
}
}
if(net[i].type=="Server"){
if(net[a].type=="Server"&& net[i].a==net[a].a&& net[i].b==net[a].b&& net[i].c==net[a].c&&
net[i].d==net[a].d&& net[i].e==net[a].e &&net[i].num>net[a].num){
net[i].success=false;
break;
} else {
net[i].success=true;
}
}
}
if(net[i].type=="Server"){
if(net[i].success==false){
cout<<"FAIL"<</*net[i].tmp<<*/endl;
} else {
cout<<"OK"<<endl;
}
}
if(net[i].type=="Client"){
if(net[i].success==true){
cout<<net[i].connected<<endl;
} else {
cout<<"FAIL"<</*net[i].tmp<<*/endl;
}
}
}
}
//fclose(stdin);fclose(stdout);
return 0;
}
#14它是这样哇的
Wrong Answer. wrong answer On line 283 column 1, read F, expected O.
评测记录here
暂时没想出解决方案,刚入坑不久轻喷qwq
qwq qwq qwq qwq...