听灌多
  • 板块灌水区
  • 楼主monkeyking_QAQ
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/5 11:46
  • 上次更新2024/8/5 13:07:44
查看原帖
听灌多
1304274
monkeyking_QAQ楼主2024/8/5 11:46

谁能教教我这四个问题,小蒟不会啊qwq。
求思路thx。


阅读程序,判断

#include<bits/stdc++.h>
using namespace std;
int used[20],a[20],n;
long long ret;
bool flag;
void dfs(int x){
	int i;
	if(x>n){
		flag=1;
		for(i=1;i<=n;i++)
			if(a[i]+i > n+2){
				flag=0;
				break;
			}
		if(flag) ret++;
		return ;
	}
	for(i=1;i<=n;i++)
		if(used[i]==0){
			used[i]=1,a[x]=i;
			dfs(x+1);
			used[i]=0,a[x]=0;
		}
}
int main(){
	cin>>n;
	dfs(1);
	cout<<ret<<endl;
	return 0;
} 

1.1.如果输入nn的值为00,那么程序在运行过程中一定会发生错误。()
2.2.如果将第2626行的ax=0a_x= 0去掉,输出的结果不会改变。()
3.3.该程序算法的时间复杂度是 O(n!∗n)O(n!*n)。 ()
4.4.输入某个整数nn,程序运行的输出结果可能会等于00。()


违规紫 “砂”,可以关,但得壶awa。

2024/8/5 11:46
加载中...