75代码求调,qwq
查看原帖
75代码求调,qwq
372172
Q__A__Q楼主2022/9/9 23:01
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

const int maxn=1e3+10;
const int inf=1e9+7;
int n,ans,cnt,sum,sum2;
bool p[maxn],flag;
string str,m;
map<string,int> mp;

inline int read() {
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9') {
		if(ch=='-')w=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}

signed main() {
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	n=read();
	for(int i=1; i<=n; ++i) {
		sum=0,cnt=0,sum2=0,flag=0;
		cin>>str;
		p[i]=(str=="Server"); //主1,客0
		cin>>m;
		int lenm=m.size();
		for(int j=0; j<lenm; ++j) {
			if(m[j]>'9'||m[j]<'0') {
				if(m[j]=='.') {
					if(cnt>255||cnt<0||m[j+1]=='.') {
						puts("ERR");
						flag=1;
						break;
					}
					sum++;
				}
				if(m[j]==':') {
					if(sum!=3) {
						puts("ERR");
						flag=1;
						break;
					}
					if(cnt>255||cnt<0||j==lenm-1) {
						puts("ERR");
						flag=1;
						break;
					}
					sum2++;
				}
				cnt=0;
			}
			else {
				if((m[j-1]<'0'||m[j-1]>'9')&&m[j]=='0'&&m[j+1]>='0'&&m[j+1]<='9') {
					puts("ERR");
					flag=1;
					break;
				}
				cnt=cnt*10+m[j]-'0';
			}
			if(j==lenm-1)
				if(cnt>65536||cnt<0||sum2!=1) {
					puts("ERR");
					flag=1;
					break;
				}
		}
		if(flag) continue;
		if(p[i]) {
			if(mp[m]) puts("FAIL");
			else mp[m]=i,puts("OK");
		}
		else {
			if(mp.count(m)!=1) puts("FAIL");
			else printf("%d\n",mp[m]);
		}
	}
	return 0;
}
2022/9/9 23:01
加载中...