社区讨论

what(诡异的改法)

B3621枚举元组参与者 3已保存回复 11

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
11 条
当前快照
1 份
快照标识符
@m4iio86i
此快照首次捕获于
2024/12/10 21:48
去年
此快照最后确认于
2025/11/04 23:22
4 个月前
查看原帖
改之前,我的代码是这样的
CPP
#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
但是改成这样
CPP
#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了 ???大佬可以解释一下吗

回复

11 条回复,欢迎继续交流。

正在加载回复...