75pts
查看原帖
75pts
1250875
sqrt_PI楼主2024/10/19 15:25

75pts75pts\

救我

#include<bits/stdc++.h>
using namespace std;
#define int long long
string op[1005],ab[10005];
bool QWQ(string ab){
	ab+='.';
	int a=0,b=0,c=0,d=0,e=0,zt=1;
	int abc=0,abcd=0;
	for(int i=0;i<ab.size();i++){
		if(ab[i]=='.'||ab[i]==':'){
			zt++;
			if(ab[i]==':'){
				if(abcd!=3){
					return 0;
				}
				abc++;
			}else{
				abcd++;
			}
			continue;
		}
		if(zt==6){
			break;
		}else if(zt==5){
			e=e*10+(ab[i]-'0');
		}else if(zt==4){
			d=d*10+(ab[i]-'0');
		}else if(zt==3){
			c=c*10+(ab[i]-'0');
		}else if(zt==2){
			b=b*10+(ab[i]-'0');
		}else{
			a=a*10+(ab[i]-'0');
		}	
	}
	if(abc!=1){
		return 0;
	}
	if(a>255||b>255||c>255||d>255||e>65535||zt<6){
		return 0;
	}
	if(ab[0]=='0'&&ab[1]!=':'&&ab[1]!='.'){
	    return 0;
	}
	for(int i=1;i<ab.size()-2;i++){
	 	if(ab[i]=='0'&&ab[i+1]!=':'&&ab[i+1]!='.'&&(ab[i-1]==':'||ab[i-1]=='.')){
    	    return 0;
	    }   
	}
	return 1;
}
signed main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>op[i]>>ab[i];
		if(op[i]=="Server"){
			bool b=1;
			if(QWQ(ab[i])){
				for(int j=1;j<i;j++){
					if(ab[i]==ab[j]&&op[j]=="Server"){
						cout<<"FAIL";
						b=0;
						break;
					}
				}
				if(b){
					cout<<"OK";
				}				
			}else{
				cout<<"ERR";
			}
		}else{
			bool b=1;
			if(QWQ(ab[i])){
				for(int j=1;j<=n;j++){
					if(ab[i]==ab[j]&&op[j]=="Server"){
						cout<<j;
						b=0;
						break;
					}
				}
				if(b){
					cout<<"FAIL";
				}
			}else{
				cout<<"ERR";
			}
		}
		cout<<endl;
	}
	return 0;
}
2024/10/19 15:25
加载中...