怎么解决某些样例连在一起的情况
查看原帖
怎么解决某些样例连在一起的情况
672815
_xEr_楼主2022/10/10 21:34
#include<iostream>
#include<map>
using namespace std;
char cc[1000],a[1000],b[1000];
map<string,int> qc;
void pd(char a[],char b[],int ii){
	int t[10]={-1,-1,-1,-1,-1,-1};
	int c=sscanf(b,"%d.%d.%d.%d:%d",&t[0],&t[1],&t[2],&t[3],&t[4]);
	if(c!=5){
		printf("EER\n");
		return;
	}
	for(int i=0;i<4;i++)if(t[i]<0||t[i]>255){printf("EER\n");return;}
	if(t[4]<0||t[4]>65535){printf("EER\n");return;}
	sprintf(cc,"%d.%d.%d.%d:%d",t[0],t[1],t[2],t[3],t[4]);
	if((string)cc!=(string)b){printf("EER\n");return;}
	if((string)a=="Client"&&qc[(string)b]){printf("%d\n",qc[(string)b]);return;}
	if((string)a=="Client"&&qc[(string)b]==0){printf("FAIL\n");return;}
	if((string)a=="Server"&&qc[(string)b]){printf("FAIL\n");return;}
	if((string)a=="Server"&&qc[(string)b]==0){qc[(string)b]=ii;printf("OK\n");return;}
}

int main(){
	int n;scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%s%s",a,b);
		pd(a,b,i+1);
	}
} 

上面是我的c++代码,对了55分

2022/10/10 21:34
加载中...