解题思路:
注意事项:
参考代码:
#include <iostream> #include <algorithm> using namespace std; int n, k; int height[12]; bool tag[12]; int result = 0; void dfs(int lay, int pre_height){ if(lay == n){//lay是x,说明前x层已经找好了,而不是将要找第x层!!! if(abs(height[1] - pre_height) <= k){ result++; } return ; } for(int i = 1;i<=n;i++){ if(tag[i] == false && abs(height[i] - pre_height) <= k){ tag[i] = true; dfs(lay + 1, height[i]); tag[i] = false; } } return; } int main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>height[i]; } tag[1] = true; dfs(1, height[1]); cout<<result; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:910 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1267 |
WU-复数求和 (C++代码)浏览:2119 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:660 |
C语言训练-数字母 (C语言代码)浏览:648 |
字符串输入输出函数 (C语言代码)浏览:2604 |
大神老白 (C语言代码)浏览:637 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:586 |
1250题解浏览:603 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:441 |