为什么全输出 1?
  • 板块P2386 放苹果
  • 楼主zjr0330
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/3/28 18:59
  • 上次更新2023/10/23 20:13:07
查看原帖
为什么全输出 1?
746947
zjr0330楼主2023/3/28 18:59

rt

#include<bits/stdc++.h>
using namespace std;
int n, m, a[100] = {0}, ans;
bool is() {
	for (int i = 1; i < m; i++) {
		if (a[i] < a[i - 1])return false;
	}
	return true;
}
void dfs(int cen, int cnt) {
	if (!is() || cen >= m)return;
	if (cnt == n) {
		ans++;
		return;
	}
	dfs(cen + 1, cnt);
	a[cen] += 1;
	dfs(cen + 1, cnt + 1);
	dfs(cen, cnt + 1);
	a[cen] -= 1;
}
int main() {
	int t;
	cin >> t;
	for (int i = 0; i < t; i++) {
		cin >> n >> m;
		dfs(0, 0);
//		if (m >= n)
		cout << ans << endl;
//		else cout << ans / 4 << endl;
		memset(a, 0, sizeof(a));
		ans = 0;
	}
	return 0;
}
2023/3/28 18:59
加载中...