75pts求调!13,14,19,20,21WA
查看原帖
75pts求调!13,14,19,20,21WA
746738
ychyyx楼主2024/8/19 09:02
#include<iostream>//T5
#include<map>
#include<cstdio>
using namespace std;
int n;
int dian,maohao,w;
map<string,int>mp;
string name,s;
int main(){
//	freopen("T5.in","r",stdin);
//	freopen("T5.out","w",stdout);
	cin>>n;
	for(int q=1;q<=n;q++){
		cin>>name>>s;
		s=' '+s;
		s+=':';
		dian=maohao=w=0;
		bool f=0,ff=0;
		for(int i=1;i<s.size();i++){
			if(s[i]=='.'){
				if(!(w>=0&&w<=255)){
					f=1;
					break;
				}
				w=0;
				dian++;
			}else if(s[i]==':'){
				if(!(w>=0&&w<=65535)&&maohao==1){
					f=1;
					break;
				}else if(!(w>=0&&w<=255)&&maohao==0){
					f=1;
					break;
				}
				w=0;
				maohao++;
			}else if(s[i]>='0'&&s[i]<='9'){
				if((s[i-1]=='.'||s[i-1]==':'||s[i-1]==' ')&&s[i]=='0'&&s[i+1]>='0'&&s[i+1]<='9'){
					f=1;
					break;
				}
				w=w*10+(s[i]-'0');
			}
		}
		if(f==1||dian!=3||maohao!=2){
			printf("ERR\n");
			ff=1;
		}
		if(ff==0){
			if(name=="Server"){
				if(mp[s]==0){
					mp[s]=q;
					printf("OK\n");
				}else{
					printf("FAIL\n");
				}
			}else{
				if(mp[s]==0){
					printf("FAIL\n");
				}else if(mp[s]!=0){
					cout<<mp[s]<<endl;
				}
			}
		}
	}
//	fclose(stdin);
//	fclose(stdout);
	return 0;
} 
2024/8/19 09:02
加载中...