代码求助
查看原帖
代码求助
397978
whoami7楼主2021/10/25 18:16

为什么我在洛谷上AC了,在有道上却只有40分?!

#include<bits/stdc++.h>
using namespace std;
map<string,int> m;
int n,cnt;
bool check(string a) {
	int j=0,x[10];
	memset(x,0,sizeof x);
	for(int i=1; i<=4; i++) {
		if(a[j]>'9'||a[j]<'0')return 0;
		if(a[j]=='0'&&(a[j+1]>='0'&&a[j+1]<='9'))return 0;
		while((a[j]<='9'&&a[j]>='0')&&j<a.size())
			x[i]=x[i]*10+(a[j]-'0'),j++;
		if(x[i]>=256||(a[j]!='.'&&i<4)||(i==4&&a[j]!=':')||j>=a.size())return 0;
		j++;
	}
	if(a[j]>'9'||a[j]<='0')return 0;
	while((a[j]<='9'&&a[j]>='0')&&j<a.size())
		x[5]=x[5]*10+(a[j]-'0'),j++;
	if(x[5]>=65536||j!=a.size())return 0;
	return 1;
}
int main() {
	freopen("network.in","r",stdin);
	freopen("network.out","w",stdout);
	scanf("%d",&n);
	for(int i=1; i<=n; i++) {
		string a,b;
		cin>>a>>b;
		if(check(b)==0) {
			printf("ERR\n");
			continue;
		}
		if(a=="Server") {
			if(m[b]!=0)printf("FAIL\n");
			else printf("OK\n"),m[b]=i;
		} else {
			if(m[b]==0)printf("FAIL\n");
			else printf("%d\n",m[b]);
		}
	}
	return 0;
}
2021/10/25 18:16
加载中...