#include<cstdio> #include<iostream> using namespace std; char s[10]; int cnt=0, n , k ; void dfs(int cur) { if( cur == n) cnt++; else for(int i=0;i<k;i++){ s[cur]=i+'0'; if(s[0]=='0' || (s[cur]=='0' && s[cur-1]=='0') ) continue; else dfs(cur+1); } } int main(void ) { cin >> n >> k; dfs(0); cout << cnt ; return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:738 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2090 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1458 |
敲七 (C语言代码)浏览:2699 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:497 |
1224题解浏览:475 |
【亲和数】 (C++代码)浏览:529 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:609 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)(一般方法:辗转相除法)浏览:700 |