关于字典序
  • 板块P2089 烤鸡
  • 楼主llqqhh
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/25 11:09
  • 上次更新2023/11/25 12:38:44
查看原帖
关于字典序
525817
llqqhh楼主2023/11/25 11:09

这段代码应该可以输出所有的方案数,但是如何按照字典序输出?

#include<bits/stdc++.h>
using namespace std;

int a[10];
void dfs(int n, int has) {
	bool flag = 0;
	if(n == 11) {
		for(int i = 1; i <= 10; i ++) cout << a[i] << ' ';
		cout << endl; 
	}
	for(int i = 3; i >= 1; i --) {
		if(10-n > has-i || 30-3*n < has-i){
			continue;
		}
		else {
			flag = 1;
			a[10-n+1] = i;
			dfs(n + 1, has - i);
		}
	}
}

int main() {
	int n;
	cin >> n;
	if(n < 10 || n > 30) {
		cout << 0;
		return 0;
	}
	dfs(1, n);
}
2023/11/25 11:09
加载中...