谁能教教我这四个问题,小蒟不会啊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.如果输入n的值为0,那么程序在运行过程中一定会发生错误。()
2.如果将第26行的ax=0去掉,输出的结果不会改变。()
3.该程序算法的时间复杂度是 O(n!∗n)。 ()
4.输入某个整数n,程序运行的输出结果可能会等于0。()
违规紫 “砂”,可以关,但得壶awa。