求调,感觉是换行和空格的锅
查看原帖
求调,感觉是换行和空格的锅
928972
ny_Dacong楼主2024/7/4 14:54
#include<bits/stdc++.h>
using namespace std;
int a,b,cnt = 0;
bool flag = 0;
bool isok(string s){
	for(int i = 1; i <= s.size()/2; i++){
		for(int j = 0; j < s.size()-i; j++){
			if(s.substr(j,i) == s.substr(j+i,i)){
				return 0;
			}
		}
	}
	return 1;
}
void dfs(string now){
	cnt++;
	if(flag){
		return;
	}
	if(cnt == a){
		for(int i = 0; i < now.size()-1; i++){
			printf("%c",now[i]);
			if(i%64 == 63){
				printf("\n");
			}else if(i%4 == 3){
				printf(" ");
			}
		}
		printf("%c",now[now.size()-1]);
		printf("\n%d\n",now.size());
		flag = 1;
		return;
	}
	if(cnt > a){
		return;
	}
	for(char i = 'A'; i < 'A'+b; i += 1){
		if(isok(now+i)){
			dfs(now+i);
		}
		if(flag){
			return;
		}
	}
}
int main(){
//	freopen("D.in","r",stdin);
//	freopen("D.out","w",stdout);
	while(1){
		flag = 0;
		cnt = 0;
		scanf("%d%d",&a,&b);
		if(a == 0 && b == 0){
			break;
		}
		dfs("A");
	}
	return 0;
}
2024/7/4 14:54
加载中...