QQ扫一扫联系
1 #include<iostream>
2 using namespace std;
3 #define MAXN 20
4 int gu[MAXN][MAXN];
5 int luo(int n, int m) {
6 if(n <= 1 || m < 2)
7 return 1;
8 if(gu[n][m] != -1)
9 return gu[n][m];
10 int ans=0;
11 for(int i = 0; i <m; i += 2)
12 ans+=luo(n-1, i);
13 gu[n][m] = ans;
14 return ans;
15 }
16 int main() {
17 int n, m;
18 cin >> n >> m;
19 for(int i = 0; i < MAXN; i++)
20 for(int j = 0; j < MAXN; j++)
21 gu[i][j]= -1;
22 cout << luo(n, m);
23 return 0;
24 }
●判断题
1)(1分)luo函数中,m的值不可能是奇数。( )
2)(1分)若将第11行的“<”改为“<=”,程序的输出结果可能会改变。( )
3)若将第8、9、13行删除,程序的运行的结果不变。( )
4)在添加合适的头文件后,将第19 到 21 行替换为“memset(gu255,sizeof(gu));”可以
起到相同的作用。( )
●选择题
5)(4分)若输入数据为 4 8,则输出为( )。
A.7
B.8
C.15
D.16
6)最坏情况下,此程序的时间复杂度是( )。
A.O(m^n) B.O(nm!) C.O(n^2) D.O(n^2m)
第一空(1分):____________________
第二空(1.5分):____________________
第三空(2分):____________________
第四空(2分):____________________
第五空(4分):____________________
第六空(3分):____________________