0分,求助
查看原帖
0分,求助
1386335
lanbing_e楼主2024/10/5 16:20
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
string s1[1001],s2[1001];
bool hefa(string x){
	int a[10],l=1,l1=1,last=-1,len=x.size();
	memset(a,0,sizeof(a));
	for(int i=0;i<len;i++)
	{
		if(x[i]!='.'&&x[i]!=':'){
			if(last==0||x[i]-'0'==0) return 0;
			else{
				a[l]=a[l]*10+(x[i]-'0');
				last=x[i]-'0';
			}
		}
		else
		{
			if(x[i]=='.'){
				if(l1==4) return 0;
				else{
					l++;
					l1++;
				}
			}
			else if(x[i]==':'){
				if(l1!=4) return 0;
				else{
					l++;
					l1++;
				}
			}
		}
	}
	if(a[1]>255) return 0;
	if(a[2]>255) return 0;
	if(a[3]>255) return 0;
	if(a[4]>255) return 0;
	if(a[5]>65535) return 0;
	return 1;
}
signed main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>s1[i]>>s2[i];
	for(int i=0;i<n;i++){
		if(hefa(s2[i])){
			if(s1[i]=="Server"){
				bool flag=0;
				for(int j=0;j<n;j++){
					if(s1[j]=="Client"||j==i) continue;
					else if(s2[i]==s2[j]){
						flag=1;
						cout<<"FALL"<<endl;
						break;
					}
				}
				if(!flag) cout<<"OK"<<endl;
			}
			else{
				bool flag=0;
				for(int j=0;j<n;j++){
					if(s1[j]=="Server")
					{
						if(s2[i]==s2[j]){
							flag=1;
							cout<<j<<endl;
							break;
						}
					}
				}
				if(!flag) cout<<"FALL"<<endl;
			}
		}
		else cout<<"ERR"<<endl;
	}
	return 0;
}
2024/10/5 16:20
加载中...