75分,#1会超时
查看原帖
75分,#1会超时
713000
Tanggl2012楼主2023/7/21 13:31
#include<bits/stdc++.h>
#define ll long long
#define db double
using namespace std;
struct node{
	string s;
	int v[10];
}a[10010];
inline ll read(){
	ll x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		char c;
		bool p=true,f=true;
		int u=0,x=0,m=0,o=0,l=0;
		cin>>a[i].s;
		getchar();
		c=getchar();
		while(c!='\n'){
			if((c>='0'&&c<='9')||c=='-'){
				l=0;
				int e=1;
				if(c=='-'){
					e=-1;c=getchar();
				}
				while(c>='0'&&c<='9'){
					l++;
					if(l>1&&x==0){
						p=false;
					}
					x=x*10+c-'0';
					c=getchar();
					
				}
				a[i].v[++u]=x*e;
				x=0;
			}else if(c==':'){
				m++;
				c=getchar();
			}else if(c=='.'){
				o++;
				c=getchar();
			}
		}
		if(m!=1||o!=3||u!=5){
			p=false;
		}
		for(int j=1;j<=4;j++){
			if(0>a[i].v[j]||a[i].v[j]>255){
				p=false;
			}
		}
		if(a[i].v[5]<0||a[i].v[5]>65535){
			p=false;
		}
		if(p){
			if(a[i].s=="Server"){
				for(int j=1;j<=i-1;j++){
					if(a[j].s=="Server"){
						int h=0;
						for(int k=1;k<=5;k++){
							if(a[i].v[k]==a[j].v[k]){
								h++;
							}
						}
						if(h==5){
							cout<<"FAIL"<<endl;
							f=false;
							break; 
						}
					}
				}
				if(f){
					cout<<"OK"<<endl;
				}
			}
			if(a[i].s=="Client"){
				for(int j=1;j<=i-1;j++){
					if(a[j].s=="Server"){
						int h=0;
						for(int k=1;k<=5;k++){
							if(a[i].v[k]==a[j].v[k]){
								h++;
							}
						}
						if(h==5){
							cout<<j<<endl;
							f=false;
							break;
						}
					}
				}
				if(f){
					cout<<"FAIL"<<endl;
				}
			}
		}else{
			cout<<"ERR"<<endl;
		}
	}
	return 0;
}
2023/7/21 13:31
加载中...