为什么此程序一调试就报错
  • 板块学术版
  • 楼主pencil
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/8/30 07:05
  • 上次更新2023/11/4 08:35:20
查看原帖
为什么此程序一调试就报错
137723
pencil楼主2021/8/30 07:05
#include<iostream>
//#include<algorithm>
//#include<stdio.h>
#include<cstring>
using namespace std;
char cc;
string a[66];
int vis[66];
int cnt=-1,n;
void dfs(int wz,int ans) {
	vis[wz]++;
	cnt=max(cnt,ans);
	int i,o,p,js;
	for(i=1; i<=n<<1; i++) {
		if(vis[i]<2) {
			for(o=a[wz].size()-1,p=0,js=0; 1; o--,p++) {
				if(a[wz][o]!=a[i][p])
					break;
				js++;
			}
//			if(js==a[wz].size()) continue;
//			cout<<a[wz].size()<<" "<<a[i].size()<<endl;
//			for(int i=1;i<=n<<1;i++)cout<<vis[i]<<" ";cout<<endl;
			dfs(i,cnt+a[wz].size()+a[i].size()-js);
		}
	}
	vis[wz]--;
}

int main() {
	cin>>n;
	int i;
	for(i=1; i<=n; i++) {
		cin>>a[i];
		a[i+n]=a[i];
	}

	cin>>cc;
	for(i=1; i<=n; i++)
		if(a[i][0]==cc)
			dfs(i,a[i].size());
	cout<<cnt;
	return 0;
}

P1019 单词接龙

2021/8/30 07:05
加载中...