求助为什么代码一直显示a!=sg
查看原帖
求助为什么代码一直显示a!=sg
873786
wangjiajinself楼主2023/10/18 14:57
#include <iostream>
using namespace std;
string c,sg,a;
bool b[26];
int s,t,w,j,ans=-1;
void dfs(int step)
{
	if(step==w)
	{
//		for(int i=0;i<w;i++) cout<<a[i];
//		cout<<"&"<<endl;
//		for(int i=0;i<w+w;i++) cout<<(a[i]==sg[i]);
        if(a==sg) ans=0;
        cout<<ans<<endl;
		if(ans>=0&&ans<=5)
		{
			cout<<a<<endl;
			ans++;
		}
	}
	for(int i=1;i<=j;i++)
	{
		if(!b[i]&&(c[i]>a[step-1]||step==0))
		{
			b[i]=1;
			a[step]=c[i];
			dfs(step+1);
			b[i]=0;
			a[step]=NULL;
		}
	}
}
int main() {
	cin>>s>>t>>w>>sg;
	for(int i=s;i<=t;i++)
	{
		c[++j]=i+'a'-1;
	}
	cout<<sg<<"*"<<endl;
	dfs(0);
	return 0;
}
2023/10/18 14:57
加载中...