Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
列公子
私信TA
用户名:lielielie
访问量:9536
签 名:
等 级
P4
排 名
1709
经 验
2586
参赛次数
0
文章发表
20
年 龄
0
在职情况
学生
学 校
哈尔滨工程大学
专 业
自我简介:
TA的其他文章
蓝桥杯 路径之谜 DFS
浏览:
108
1924题 - 01背包 - 动态规划 + 一维数组空间优化
浏览:
485
你可能喜欢
C语言程序设计教程(第三版)课后习题11.5 (C++代码)
浏览:
855
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)
浏览:
779
母牛的故事 (C语言代码)
浏览:
1295
矩形面积交 (C语言代码)
浏览:
1510
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)
浏览:
889
蓝桥杯 摆动序列 DFS -
作者:
列公子
发表时间:2020-03-06 15:39:44
浏览:396 | 评论:0
原题链接:
蓝桥杯算法训练VIP-摆动序列
# [1630] 摆动序列 DFS ## 完整代码 (AC) ```cpp #include
const int maxn = 22; int K; bool vis[maxn]; int a[maxn]; bool check(int index, int value){ if (index == 0 || index == 1){ return true; } // index - 2, index - 1, index return ((a[index - 1] - a[index - 2]) * (value - a[index - 2]) < 0); } int ans = 0; void dfs(int index){ // 位置, 比前一个位置 应该是增加还是减少 if (index == K) return; for (int i = 1; i <= K; i++){ if (!vis[i] && check(index, i)){ vis[i] = true; a[index] = i; if (index >= 1) // 数列长度大于等于 2 才算一种方案 ans ++; dfs(index + 1); vis[i] = false; } } } int main(){ scanf("%d", &K); dfs(0); printf("%d", ans); return 0; } ```
0.0分
3 人评分
分享
收藏
C语言网推出会员服务,提供C/C++/算法/Python等多套视频学练课程+源码资源社群答疑+私活推荐等资源,享受丰富的技术学习到变现的乐趣,
以含金量和学习效果勇敢挑战同类辅导
! 点击了解开通
评论区
«
»
提交
精彩推荐
最小公倍数 (C语言代码)
浏览:
861
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)
浏览:
464
母牛的故事 (C语言代码)
浏览:
1427
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)
浏览:
552
A+B for Input-Output Practice (IV) (C语言代码)
浏览:
484
Quadratic Equation (C语言代码)
浏览:
987
判定字符位置 (C++代码)
浏览:
666
C语言程序设计教程(第三版)课后习题5.5 (Java代码)
浏览:
526
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)
浏览:
640
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)
浏览:
573
有问题
,
问问AI
代码解释
语言转换
编程助手