what(诡异的改法)
  • 板块B3621 枚举元组
  • 楼主cnmwssb
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/12/10 21:47
  • 上次更新2024/12/11 13:27:07
查看原帖
what(诡异的改法)
1240045
cnmwssb楼主2024/12/10 21:47

改之前,我的代码是这样的

#include<bits/stdc++.h>
using namespace std;
int n,k;
int check[15],ans[15];

void dfs(int pos)
{
	
	if (pos==k+1)
	{
		for(int i=1;i<=k;i++)
		{
			cout << ans[i]<<" ";
		}
		cout << endl;
		return;
	}
	for(int i = 1; i <= n; i ++)
	{
	
		check[i]=1;
		ans[pos]=i;
		dfs(pos + 1);
		check[i]=0;
	}
}
int main()
{	
	cin >> n>>k;
	dfs(1);
	return 0;
}

1:ac 2:wa

但是改成这样

#include<bits/stdc++.h>
using namespace std;
int n,k;
int check[15],ans[15];

void dfs(int pos)
{
	
	if (pos==k+1)
	{
		for(int i=1;i<=k;i++)
		{
			cout << ans[i]<<" ";
		}
		cout << endl;
		return;
	}
	for(int i = 1; i <= n; i ++)
	{
	
		check[i]=1;
		ans[pos]=i;
		dfs(pos + 1);
		check[i]=0;
	}
}
int main()
{	
	cin >> k>>n;
	dfs(1);
	return 0;
}

AC了 ???大佬可以解释一下吗

2024/12/10 21:47
加载中...