后来又写了一份 80分求助
查看原帖
后来又写了一份 80分求助
564225
dontwannacry楼主2022/7/17 16:36
#include<bits/stdc++.h>
using namespace std;
struct con{
    string re;
    string id;
}s[2010];
bool result(string id){
	long long a,b,c,d,e;
	char ch[30],ch2[30];
	int s = id.size();
	for(int i = 0;i < s;++i){
		ch[i] = id[i];
	}
	if(sscanf(ch,"%lld.%lld.%lld.%lld:%lld",&a,&b,&c,&d,&e) != 5) return 0;
	if(a < 0||b < 0||c < 0||d < 0||e < 0||a > 255||b > 255||c > 255||d > 255||e > 65535){
		return 0;
	}
	sprintf(ch2,"%lld.%lld.%lld.%lld:%lld",a,b,c,d,e);
	for(int i = 0;i < s;++i){
		if(ch[i] != ch2[i]){
			return 0;
		}
	}
	return 1;	
}
int find(int x){
	for(int i = 1;i < x;++i){
		if(s[i].id == s[x].id&&s[i].re == "Server"){
			return i;
		}
	}
	return 0;
}
int n;
int main(){
	//freopen("1.in","r",stdin);
    scanf("%d",&n);
    for(int i = 1;i <= n;++i){
        cin >> s[i].re >> s[i].id;
        if(result(s[i].id)){
        	if(s[i].re=="Server"){
        		if(find(i) != 0){
					cout << "FAIL\n";
				}else{
					cout << "OK\n";
				}
        	}else{
        		int x = find(i);
        		if(x != 0){
					cout <<x<< "\n";
				}else{
					cout << "FAIL\n";
				}
        	}
        }else{
        	cout << "ERR\n";
        }
    }
    return 0;
}
2022/7/17 16:36
加载中...