95分求助 Subtask0 #14 WA
查看原帖
95分求助 Subtask0 #14 WA
568243
Windows_Update楼主2021/11/12 17:52

RT
本蒟蒻鼓捣了半天写了个又臭又长又烂的代码...

#include<bits/stdc++.h>
#include<cstring>
using namespace std;
struct network{
	string type;
	long long num,a,b,c,d,e,connected,tmp;
	bool error,fail,success;
}net[114514];
int n,a=0,b=0;
char address[114514];
int main(){
	//freopen("network4.in","r",stdin);freopen("network.ans","w",stdout);
	cin>>n;
	for(int i=0;i<n;i++){
		net[i].error=false;
		net[i].num=i;
		cin>>net[i].type>>address;
		for(int c=0;c<strlen(address);c++){
			if(address[c]=='.')
				a++;
			if(address[c]==':')
				b++;	
		}
		sscanf(address,"%lld.%lld.%lld.%lld:%lld",&net[i].a,&net[i].b,&net[i].c,&net[i].d,&net[i].e);
		if(a!=3||b!=1){
			net[i].error=true;	
			//cout<<"0";
			a=0;b=0;
		} else {
			if(net[i].a<=255&& net[i].b<=255&& net[i].c<=255&& net[i].d<=255&& net[i].e<=65535){
				net[i].error=false;
				for(int c=0;c<=strlen(address);c++){
					net[i].tmp=c;
					if(address[c]==':'&&address[c+1]==':'){
						net[i].error=true;
						//cout<<"1";
						break;
					}else if(address[c]=='.'&&address[c+1]=='.'){
						net[i].error=true;
						//cout<<"2";
						break;
					}else if(address[c]==':'&&address[c+1]=='.'){
						net[i].error=true;
					//	cout<<"3";
						break;
					}else if(address[c]=='.'&&address[c+1]==':'){
						net[i].error=true;
					//	cout<<"4";
						break;
					}else if(address[c]==':'&&c==strlen(address)-1){
						net[i].error=true;
					//	cout<<"5";
						break;
					}else if(address[c]=='.'&&c==0){
						net[i].error=true;
					//	cout<<"6";
						break;
					} else if(address[c]==':'&&c==0){
						net[i].error=true;
					//	cout<<"6";
						break;
					} else if((address[c-1]=='.'||c==0)&&address[c]=='0'&&address[c+1]>='0'&&address[c+1]<='9'&&address[c+1]!=':'&&address[c+1]!='.'){
						net[i].error=true;
					//	cout<<"7";
						break;
					} else if(address[c-1]==':'&&address[c]=='0'&&(address[c+1]>='0'&&address[c+1]<='9')){
							net[i].error=true;
						//	cout<<"8";
							break;
					}
				}
			} else {
				net[i].error=true;
			//	cout<<"9";
			}
			a=0;b=0;
		}
	}
	for(int i=0;i<n;i++){
		if(net[i].error==true){
			cout<<"ERR"<</*net[i].tmp<<*/endl;
		} else {
			for(int a=0;a<n;a++){
				if(net[i].type=="Client"){
					if(net[a].type=="Server" &&net[i].a==net[a].a&& net[i].b==net[a].b&& net[i].c==net[a].c&& 
					net[i].d==net[a].d&& net[i].e==net[a].e &&net[i].num>net[a].num){
						net[i].success=true;
						net[i].connected=a+1;
						break;
					} else {
						net[i].success=false;
					}
				}
				if(net[i].type=="Server"){
					if(net[a].type=="Server"&& net[i].a==net[a].a&& net[i].b==net[a].b&& net[i].c==net[a].c&& 
					net[i].d==net[a].d&& net[i].e==net[a].e &&net[i].num>net[a].num){
						net[i].success=false;
						break;
					} else {
						net[i].success=true;
					}
				}
			}
			if(net[i].type=="Server"){
				if(net[i].success==false){
					cout<<"FAIL"<</*net[i].tmp<<*/endl;
				} else {
					cout<<"OK"<<endl;
				}
			}
			if(net[i].type=="Client"){
				if(net[i].success==true){
					cout<<net[i].connected<<endl;
				} else {
					cout<<"FAIL"<</*net[i].tmp<<*/endl;
				}
			}
		}
	}
	//fclose(stdin);fclose(stdout);
	return 0;
}

#14它是这样哇的
Wrong Answer. wrong answer On line 283 column 1, read F, expected O.

评测记录here

暂时没想出解决方案,刚入坑不久轻喷qwq
qwq qwq qwq qwq...

2021/11/12 17:52
加载中...