0分求助!!
查看原帖
0分求助!!
716484
know_car_man楼主2024/10/16 23:32
#include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std; 
int n,m=1,a[5],s[1001][5];
char c[4];
string jz,dz,num[5];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>jz>>dz;
		int flag=0,cnt=1,j=0;
		while(j<dz.length()){ 
			j++;
			if(dz[j]<='9'&&dz[j]>='0'){
				num[cnt][j-flag]=dz[j-flag];
			}
			else{
				c[cnt]=dz[j]; 
				cnt++;
				flag=j;
			}
		}
		for(int j=1;j<=5;j++){
			if(num[j][1]=='0'&&num[j].length()>1||num[j][1]=='-'){
				cout<<"ERR"<<endl;
				continue;
			}
		}
		for(int j=1;j<=5;j++){
			for(int k=0;k<num[j].length();k++){
				a[j]+=int(num[j][k]-48)*pow(10,num[j].length()-1);
			}
			num[j]="";
		}
		if(a[1]>255||a[2]>255||a[3]>255||a[4]>255||a[5]>65535||c[1]!='.'||c[2]!='.'||c[3]!='.'||c[4]!=':'){
			cout<<"ERR"<<endl;
			continue;
		}
		if(jz=="Server"){
			for(int j=1;j<=m;j++){
				int flag1=0;
				for(int k=1;k<=5;k++){
					if(s[j][k]!=a[k]){
						flag1++;
					}
				}
				if(!flag1){
					cout<<"FAIL"<<endl;
					continue;
				}
			}
			for(int j=1;j<=5;j++){
				s[m][j]=a[j];
			}
			m++;
			cout<<"OK"<<endl;
		}
		if(jz=="Client"){
			int flag2=0;
			for(int j=1;j<=m;j++){
				int flag1=0;
				for(int k=1;k<=5;k++){
					if(s[j][k]!=a[k]){
						flag1++;
					}
				}
				if(flag1){
					flag2++;
					continue;
				}
				else{
					cout<<j<<endl;
					flag2=0;
					break;
				}
			}
			if(flag2==m){
				cout<<"FAIL"<<endl;
			}
		}
	}
	
	return 0;
}

样例过了,求大佬指点!!!

2024/10/16 23:32
加载中...