WA求hack
查看原帖
WA求hack
236243
2018090807L楼主2022/4/25 23:04
#include<bits/stdc++.h>
using namespace std;
const int N=105;
int n,l[N],r[N],sum,book1[N],book2[N];
char c[N][N],to[N][N],sto[N];
void dfs(int cur,int L,char sv[]){
//	for(int i=1;i<=L;i++){
//		printf("%c",sv[i]);
//	}printf(" %d \n",cur);
	int jud=-1;
	for(int i=1;i<=sum;i++){
		if(l[i]!=L||book2[i]||book1[i])continue;
//		printf("%d\n",i);
		int flag=1;
		for(int j=1;j<=l[i];j++){
			if(sv[j]!=c[i][j]){
				flag=0;
				break;
			}
		}if(flag==1){
			jud=i;
		//	printf("%d\n",jud);
			int lenn=0;
			char STO[N];
			for(int i=1;i<=r[jud];i++){
				if(!(to[jud][i]=='_'||to[jud][i]<='z'&&to[jud][i]>='A'||to[jud][i]<='9'&&to[jud][i]>='0')){
					book1[jud]=1;
					dfs(cur+1,lenn,STO);
					book1[jud]=0;
					lenn=0;
					printf("%c",to[jud][i]);
					continue;
				}STO[++lenn]=to[jud][i];
			}if(lenn!=0){
				book1[jud]=1;
				dfs(cur+1,lenn,STO);
				book1[jud]=0;
			}
		}
	}if(jud==-1){
	//	printf("%d\n",L);
		for(int i=1;i<=L;i++){
			printf("%c",sv[i]);
		}
	}
}
int main(){
	scanf("%d\n",&n);
	for(int i=1;i<=n;i++){
//		printf("%d\n",i);
		string tmp;
		getline(cin,tmp);
		int len=tmp.length();
		if(tmp[0]=='#'){
			printf("\n");
			if(tmp[1]=='d'){
				sum++;
				int i=8;
				while(i){
					if(!(tmp[i]>='A'&&tmp[i]<='z'))break;
					c[sum][++l[sum]]=tmp[i];
					i++;
				}i++;
				while(i){
					if(i==len)break;
					to[sum][++r[sum]]=tmp[i];
					i++;
				}
			}else{
				int lon=len-7;
				for(int i=1;i<=sum;i++){
					if(l[i]==lon){
						int flag=1;
						for(int j=1;j<=l[i];j++){
							if(c[i][j]!=tmp[j+6]){
								flag=0;
								break;
							}
						}if(flag==1){
							book2[i]=1;
							break;
						}
					}
				}
			}
		}else{
			int le=0;
			for(int i=0;i<len;i++){
				if(!(tmp[i]=='_'||tmp[i]<='z'&&tmp[i]>='A'||tmp[i]<='9'&&tmp[i]>='0')){
					dfs(1,le,sto);
					le=0;
					printf("%c",tmp[i]);
					continue;
				}
				sto[++le]=tmp[i];
			}if(le!=0){
				dfs(1,le,sto);
			}
			printf("\n");
		}
	}
	return 0;
}

测试点2,8,9,10WA,求hack

2022/4/25 23:04
加载中...