P10448 玄关求调
  • 板块学术版
  • 楼主Diplomacy
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/23 16:26
  • 上次更新2025/1/23 19:27:14
查看原帖
P10448 玄关求调
1643422
Diplomacy楼主2025/1/23 16:26

我是按照书上写得,不知为何40分

#include<bits/stdc++.h>
using namespace std;
vector<int> chosen;
int a[5001][5001];
int n,m,j=-1;
void calc(int x)
{
	if (chosen.size()>m||chosen.size()+(n-x+1)<m)
	return;
	if (x==n+1)
	{
		j++;
		for (int i=0;i<chosen.size();i++)
	    a[j][i]=chosen[i];
	}
	calc(x+1);
	chosen.push_back(x);
	calc(x+1);
	chosen.pop_back();
}
int main()
{
	cin>>n>>m;
	calc(1);
	for (int z=j;z>=0;z--)
	{
		for (int i=0;i<m;i++)
		{
			cout<<a[z][i]<<" ";
		}
		cout<<endl;
	}
}
2025/1/23 16:26
加载中...