解题思路:DFS 暴力枚举,剪枝操作;
注意事项:
参考代码:
#include<iostream> using namespace std; int n,k,cnt=0,flag=1; int a[20]; void dfs(int ne) { if(ne==n) { cnt++; return ; } for(int j=0;j<k;j++) { if(j==0 && ne==0) continue; if(a[ne-1]==0 && j==0) continue; a[ne]=j; dfs(ne+1); } } int main() { cin>>n; cin>>k; for(int i=0;i<n;i++) { a[i]=0; } dfs(0); cout<<cnt; return 0; }
0.0分
0 人评分
C二级辅导-分段函数 (C语言代码)浏览:912 |
简单的a+b (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1850 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1271 |
字符串问题 (C语言代码)浏览:1635 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:827 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1808 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:565 |
母牛的故事 (C语言代码)浏览:594 |