CE求助
查看原帖
CE求助
552088
12468C楼主2022/7/15 22:47

本地能运行,评测机CE(qwq).

#include<bits/stdc++.h>
using namespace std;
const int maxn=1001;
int _const;
struct Internet{
	int a=-1,b=-1,c=-1,d=-1,e=-1;
};
struct company{
	Internet Server;
	Internet Client[maxn];
	int pdf=0;
}work[maxn];
//Server.
int main(){
	//freopen("network.in","r",stdin);
	//freopen("network.out","w",stdout);
	cin>>_const;
	string s,ss,sss;
	int n=0;
	for(int ccf=1;ccf<=_const;ccf++){
		cin>>ss;
		if(ss=="Server"){
		int error_S=0;
		n++;
		int aps=0,bps=0,cps=0,dps=0,eps=0;
		for(int i=0;i<4;i++){
		    cin>>s[i];
		    if(s[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Server.a+=(s[j]-48)*(10^(3-i));
				}
				if(work[n].Server.a==-1||work[n].Server.a>255){
					aps=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>s[i];
		    if(s[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Server.b+=(s[j]-48)*(10^(3-i));
				}   
				if(work[n].Server.b==-1||work[n].Server.b>255){
					bps=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>s[i];
		    if(s[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Server.c+=(s[j]-48)*(10^(3-i));
				}   
				if(work[n].Server.c==-1||work[n].Server.c>255){
					cps=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>s[i];
		    if(s[i]==':'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Server.d+=(s[j]-48)*(10^(3-i));
				}  
				if(work[n].Server.d==-1||work[n].Server.d>255){
					dps=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<6;i++){
		    cin>>s[i];
		    for(int j=0;j<=i;j++){
		    	work[n].Server.e+=(s[j]-48)*(10^(5-i));
			}  
			if(work[n].Server.e==-1||work[n].Server.e>65535){
				eps=1;
				break;
		    }
	    }
	    if(aps==1||bps==1||cps==1||dps==1||eps==1){
	    	cout<<"ERR"<<endl;
	    	error_S=1;
		}
		if(n>=2&&error_S==0){
			for(int i=1;i<=n;i++){
				if(work[n].Server.a==work[i].Server.a&&work[n].Server.b==work[i].Server.b&&work[n].Server.c==work[i].Server.c&&work[n].Server.d==work[i].Server.d&&work[n].Server.e==work[i].Server.e){
					cout<<"FAIL"<<endl;
					error_S=1;
				}
			}
		}
		if(error_S==0){
			cout<<"OK"<<endl;
		}
	}
	else{
		int error_C=1;
		work[n].pdf++;
		int apc=0,bpc=0,cpc=0,dpc=0,epc=0;
		for(int i=0;i<4;i++){
		    cin>>sss[i];
		    if(sss[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Client[work[i].pdf].a+=(sss[j]-48)*(10^(3-i));
				}
				if(work[n].Client[work[i].pdf].a==-1||work[n].Client[work[i].pdf].a>255){
					apc=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>sss[i];
		    if(sss[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Client[work[i].pdf].b+=(sss[j]-48)*(10^(3-i));
				}   
				if(work[n].Client[work[i].pdf].b==-1||work[n].Client[work[i].pdf].b>255){
					bpc=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>sss[i];
		    if(sss[i]=='.'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Client[work[i].pdf].c+=(sss[j]-48)*(10^(3-i));
				}   
				if(work[n].Client[work[i].pdf].c==-1||work[n].Client[work[i].pdf].c>255){
					cpc=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<4;i++){
		    cin>>sss[i];
		    if(sss[i]==':'){
		    	for(int j=0;j<=i;j++){
		    		work[n].Client[work[i].pdf].d+=(sss[j]-48)*(10^(3-i));
				}  
				if(work[n].Client[work[i].pdf].d==-1||work[n].Client[work[i].pdf].d>255){
					dpc=1;
					break;
				} 
		    }
	    }
	    for(int i=0;i<6;i++){
		    cin>>sss[i];
		    for(int j=0;j<=i;j++){
		    	work[n].Client[work[i].pdf].e+=(sss[j]-48)*(10^(5-i));
			}  
			if(work[n].Client[work[i].pdf].e==-1||work[n].Client[work[i].pdf].e>65535){
				epc=1;
				break;
		    }
	    }
	    if(apc==1||bpc==1||cpc==1||dpc==1||epc==1){
	    	cout<<"ERR"<<endl;
	    	error_C=0;
		}
		if(error_C==0){
			for(int i=1;i<=n;i++){
				if(work[n].Client[work[i].pdf].a==work[i].Server.a&&work[n].Client[work[i].pdf].b==work[i].Server.b&&work[n].Client[work[i].pdf].c==work[i].Server.c&&work[n].Client[work[i].pdf].d==work[i].Server.d&&work[n].Client[work[i].pdf].e==work[i].Server.e){
					cout<<"OK"<<endl;
					work[i].pdf++;
					error_C=1;
				}
			}
		}
		if(error_C==0){
			cout<<"FAIL"<<endl;
		}
	}
	}
	return 0;
}
2022/7/15 22:47
加载中...