65pts求条
查看原帖
65pts求条
1388450
wangxingzhi331楼主2025/7/22 10:52
#include<bits/stdc++.h>
using namespace std;
int t,k1[1005],k2[1005],k3[1005],k4[1005],k5[1005],cnt=0;
int main(){
	cin>>t;
	for(int i=1;i<=t;i++){
		string op,a;
		cin>>op>>a;
		int s1,e1,s2,e2,s3,e3,s4,e4,s5,e5;
		s1=0;
		int cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0;
		for(int j=0;j<a.size();j++){
			if(a[j]<'0'||a[j]>'9'){
				e1=j-1;
				break;
			}
		}
		s2=e1+2;
		for(int j=s2;j<a.size();j++){
			if(a[j]<'0'||a[j]>'9'){
				e2=j-1;
				break;
			}
		}
		s3=e2+2;
		for(int j=s3;j<a.size();j++){
			if(a[j]<'0'||a[j]>'9'){
				e3=j-1;
				break;
			}
		}
		s4=e3+2;
		for(int j=s4;j<a.size();j++){
			if(a[j]<'0'||a[j]>'9'){
				e4=j-1;
				break;
			}
		}
		s5=e4+2;
		e5=a.size()-1;
		if(op=="Server"){
			if((a[s1]=='0'&&(e1-s1+1)>1)||(a[s2]=='0'&&(e2-s2+1)>1)||(a[s3]=='0'&&(e3-s3+1)>1)||(a[s4]=='0'&&(e4-s4+1)>1)||(a[s5]=='0'&&(e5-s5+1)>1)){
				cout<<"ERR"<<endl;
				continue;
			}
			if(a[e1+1]!='.'||a[e2+1]!='.'||a[e3+1]!='.'||a[e4+1]!=':'){
				cout<<"ERR"<<endl;
				continue;
			}
			if(a[s1]=='-'||a[s2]=='-'||a[s3]=='-'||a[s4]=='-'||a[s5]=='-'){
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=s1;j<=e1;j++){
				cnt1=cnt1*10+int(a[j]-'0');
			}
			for(int j=s2;j<=e2;j++){
				cnt2=cnt2*10+int(a[j]-'0');
			}
			for(int j=s3;j<=e3;j++){
				cnt3=cnt3*10+int(a[j]-'0');
			}
			for(int j=s4;j<=e4;j++){
				cnt4=cnt4*10+int(a[j]-'0');
			}
			for(int j=s5;j<=e5;j++){
				cnt5=cnt5*10+int(a[j]-'0');
			}
			if(cnt1>255||cnt2>255||cnt3>255||cnt4>255|cnt5>65535){
				cout<<"ERR"<<endl;
				continue;
			}
			int flag=0;
			for(int j=1;j<=i;j++){
				if(k1[j]==cnt1&&k2[j]==cnt2&&k3[j]==cnt3&&k4[j]==cnt4&&k5[j]==cnt5){
					flag=1;
					cout<<"FAIL"<<endl;
					break;
				}
			}
			if(flag==1) continue;
			cout<<"OK"<<endl;
			k1[i]=cnt1,k2[i]=cnt2,k3[i]=cnt3,k4[i]=cnt4,k5[i]=cnt5;
		}
		else{
			if((a[s1]=='0'&&(e1-s1+1)>1)||(a[s2]=='0'&&(e2-s2+1)>1)||(a[s3]=='0'&&(e3-s3+1)>1)||(a[s4]=='0'&&(e4-s4+1)>1)||(a[s5]=='0'&&(e5-s5+1)>1)){
				cout<<"ERR"<<endl;
				continue;
			}
			if(a[e1+1]!='.'||a[e2+1]!='.'||a[e3+1]!='.'||a[e4+1]!=':'){
				cout<<"ERR"<<endl;
				continue;
			}
			if(a[s1]=='-'||a[s2]=='-'||a[s3]=='-'||a[s4]=='-'||a[s5]=='-'){
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=s1;j<=e1;j++){
				cnt1=cnt1*10+int(a[j]-'0');
			}
			for(int j=s2;j<=e2;j++){
				cnt2=cnt2*10+int(a[j]-'0');
			}
			for(int j=s3;j<=e3;j++){
				cnt3=cnt3*10+int(a[j]-'0');
			}
			for(int j=s4;j<=e4;j++){
				cnt4=cnt4*10+int(a[j]-'0');
			}
			for(int j=s5;j<=e5;j++){
				cnt5=cnt5*10+int(a[j]-'0');
			}
			if(cnt1>255||cnt2>255||cnt3>255||cnt4>255|cnt5>65535){
				cout<<"ERR"<<endl;
				continue;
			}
			int flag=0;
			for(int j=1;j<=i;j++){
				if(k1[j]==cnt1&&k2[j]==cnt2&&k3[j]==cnt3&&k4[j]==cnt4&&k5[j]==cnt5){
					flag=1;
					cout<<j<<endl;
					break;
				}
			}
			if(flag==0) cout<<"FAIL"<<endl;
		}
	}
	return 0;
}
2025/7/22 10:52
加载中...