求助,自己随便编造的复杂范例跟AC100的结果一样,但评测WA0
查看原帖
求助,自己随便编造的复杂范例跟AC100的结果一样,但评测WA0
399625
灼华烬韶颜楼主2020/10/9 21:20

感觉就很神奇,暴力搜索,跟了一下范例,搜索过程没有问题,然后拿了别人一个AC100的代码,我列举了16行复杂化的例子,我和那个大佬得的结果一样,可是我提交的时候全错

#include <stdio.h>
#include <string.h>
#define max(a,b) a>b?a:b
int ans=0;
int temp=0;

void dfs(char arr[20][2050],int index,int flag[20],int N){
	int i=0; 
	for(i=0;i<N;i++){
		if(flag[i]==0){//未选择 
			if(arr[i][0]==arr[index][strlen(arr[index])-1]){
				int temp2=0;
				flag[i] = 1;
				temp += strlen(arr[i]);
				temp2 = index;
				index = i;
				ans = max(ans,temp);
				dfs(arr,index,flag,N);
				index = temp2;
				temp -= strlen(arr[i]);
				flag[i] = 0;
			}
		}
	}
} 

int main(){
	printf("自己的\n");
	int N=0;
	int flag[20]={0};
	char arr[20][2050]={};
	int i=0;
	scanf("%d",&N);
	fflush(stdin);
	for(i=0;i<N;i++){
		gets(arr[i]);
	}
	
	for(i=0;i<N;i++){
		temp = strlen(arr[i]);
		flag[i] = 1;
		dfs(arr,i,flag,N);
		flag[i] = 0;	
	}
	
	printf("%d",ans);
	return 0;
} 
2020/10/9 21:20
加载中...