样例全过,一交全错,求助!!!
查看原帖
样例全过,一交全错,求助!!!
640477
biophitma_wby楼主2022/9/25 21:12
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[50];
int a,b,c,d,e;
bool isUse1[300][300];
bool isUse2[300][300];
bool isUse3[70000];
int qwe[100010];
int cmp;
int main(){
	int n;cin>>n;
	cmp=n;
	cin.get();
	while(n--){
		cin.getline(str,50);
		if(str[0]=='S'){
			bool isOk=true;
			int len=strlen(str);
			int sum=0;
			int num=0;
			int k=0;
			int dian=0,maohao=0;
			a=b=c=d=e=0;
			for(int i=7;i<len;i++){
				if(!((str[i]>='0'&&str[i]<='9')||(str[i]=='.')||(str[i])==':')){
					cout<<"ERR";
					isOk=false;
					break;
				}
				if(str[i]=='.'||str[i]==':'){
					if(str[i]=='.')dian++;
					else maohao++;
					num++;
					//cout<<sum<<" "<<num<<endl;
					if((num==1&&sum>255)||(num==2&&sum>255)||(num==3&&sum>255)||(num==4&&sum>255)){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
					if(num==1)a=sum;
					if(num==2)b=sum;
					if(num==3)c=sum;
					if(num==4)d=sum;
					sum=0;
				}else if(i==len-1){
					sum=sum*10+(str[i]-'0');
					num++;
					//cout<<sum<<" "<<num<<endl;
					if(sum>65536){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
					e=sum;
				}
				else{
					if(k>1&&str[i]=='0'){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
					else if(str[i]=='0'){
						k++;
					}
					sum=sum*10+(str[i]-'0');
				}
			}
			if(dian!=3||maohao!=1){
				cout<<"ERR"<<endl;
				isOk=false;
			}
			if(isUse1[a][b]==false||isUse2[c][d]==false||isUse3[e]==false){
				isUse1[a][b]=true;
				isUse2[c][d]=true;
				isUse3[e]=true;
			}else{
				isOk=false;
				cout<<"FAIL"<<endl;
			}
			if(isOk==true){
				cout<<"OK"<<endl;
				qwe[a+b+c+d+e]=cmp-n;
			}
			
		}else if(str[0]=='C'){
			bool isOk=true;
			int len=strlen(str);
			int sum=0;
			int num=0;
			int k=0;
			int dian=0,maohao=0;
			a=b=c=d=e=0;
			for(int i=7;i<len;i++){
				if(str[i]=='.'||str[i]==':'){
					if(str[i]=='.')dian++;
					else maohao++;
					num++;
					//cout<<sum<<" "<<num<<endl;
					if((num==1&&sum>255)||(num==2&&sum>255)||(num==3&&sum>255)||(num==4&&sum>255)){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
					if(num==1)a=sum;
					if(num==2)b=sum;
					if(num==3)c=sum;
					if(num==4)d=sum;
					sum=0;
				}else if(i==len-1){
					sum=sum*10+(str[i]-'0');
					num++;
					//cout<<sum<<" "<<num<<endl;
					e=sum;
					if(sum>65536){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
				}
				else{
					if(k>1&&str[i]=='0'){
						cout<<"ERR"<<endl;
						isOk=false;
						break;
					}
					else if(str[i]=='0'){
						k++;
					}
					sum=sum*10+(str[i]-'0');
				}
			}
			if(isOk==true){
				if(dian!=3||maohao!=1){
					cout<<"ERR"<<endl;
				}
				else if(isUse1[a][b]==true&&isUse2[c][d]==true&&isUse3[e]==true){
					cout<<qwe[a+b+c+d+e]<<endl;
				}else{
					cout<<"FAIL"<<endl;
				}
			}
			//cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl;
		}else cout<<"ERR";
	}
	return 0;
}
2022/9/25 21:12
加载中...