幸运三角形 南阳acm491(dfs)
幸运三角形
- 描述
-
话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒置的金字塔形状,除第一层外(第一层为所有可能情况),每层形状都由上层决定,相邻的符号相同,则下层的符号为‘+’,反之,为‘-’;如下图所示(n = 3 时的两种情况):
如果图中的两种符号个数相同,那这个三角形就是幸运三角形,如上图中的图(2).
- 输入
-
有多组测试数据(少于20组)。
每行含一个整数n(0<n<20)。 - 输出
- 输出相应的幸运三角形个数。
- 样例输入
-
3 4
- 样例输出
-
4 6
- 来源
- 原创
- 上传者
- ACM_杨延玺
- 算法思想:把+看成1,把-看成0,具体看代码实现
-
1 #include<stdio.h> 2 int b[25][25]; 3 int n,ans; 4 void dfs(int z,int x,int y) //x = 0(表示'-'),y = 1(表示'+'), 5 { 6 int x1,y1; 7 if(z == n) 8 { 9 if(x == y) 10 { 11 ans++; 12 return; 13 } 14 return; 15 } 16 for(int k=0; k<=1; k++) 17 { 18 x1 = x,y1 = y; 19 b[0][z] = k; //用来存储三角形第一行 20 b[0][z]>0 ? y1++ : x1++; 21 for(int i=1,j=z-1; j>=0; i++,j--) //用来判断上一行相邻数 22 { 23 b[i][j] = b[i-1][j] ^ b[i-1][j+1]; //(1^0 || 0^1 == 0); (1^1 || 0^0 == 1) 24 b[i][j]>0 ? y1++ : x1++; 25 } 26 dfs(z+1,x1,y1); 27 } 28 } 29 int main() 30 { 31 int a[25]; 32 a[0] = 0; 33 for(int i=1; i<=20; i++) //a[25]用来存储n三角形为偶数还是奇数 34 a[i] = (a[i-1]+i); 35 while(scanf("%d",&n)!=EOF) 36 { 37 ans = 0; 38 if(a[n]%2 == 0) //为偶数时才可能有幸运三角形 39 dfs(0,0,0); 40 printf("%d\n",ans); 41 } 42 return 0; 43 }
转载于:https://www.cnblogs.com/-skyblue/p/9364931.html
幸运三角形 南阳acm491(dfs)相关推荐
- NYOJ-491 幸运三角形
幸运三角形 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 话说有这么一个图形,只有两种符号组成('+'或者'-'),图形的最上层有n个符号,往下个数依次减一,形成倒置的 ...
- 蓝桥杯 历届试题 幸运数 (堆+DFS)
传送门:蓝桥杯 题目大意: 求区间 [m,n] 中幸运数的个数. 锦囊2: 从左到右扫描,用一下堆来处理,堆的每项记录下要删的倍数和当前删到的值,以当前删到的值建小根堆.每次取出一个加上一次倍数再放回 ...
- 蓝桥javab组数字三角形--dfs的思路
数字三角形 基本思想 dfs模板 蓝桥javab组数字三角形 思路 代码 基本思想 第一次学习dfs的同学也许像我一样,刚开始学习的时候,感觉在写dfs不知道要干些什么. 首先我们要知道dfs和bfs ...
- 一些经典的算法题目cpp
每日两题cpp 组队竞赛(贪心) 删除公共字符(哈希) 排序子序列(数组) 倒置字符串(字符串) 数组中出现次数超过一半的数字(数组) 进制转换(数学) 连续最大和(贪心,动态规划) 不要二(贪心,数 ...
- [蓝桥杯][2013年第四届真题]幸运数-模拟+dfs
题目描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,- 1 就是第一个幸运数. 我们从2这个数开始.把所 ...
- 51Nod - 1588 幸运树(DFS)
题目链接:51nod1588幸运树 思路 可以发现先看一个点,找出这个点走非幸运的边最多能走到s个点(最少为1),这个点的贡献答案就是(n-s)*(n-s-1),也就是从(n-s)个点中选择两个点,还 ...
- 符号三角形-计算机算法设计与分析【1600+字解析 dfs全排列 列举情况】【题意分析】【算法分析】【思路是怎么来的】【过程是什么】
符号三角形 题意分析 思路过程分析 算法分析 下图是由14个"+"和14个"-"组成的符号三角形.2个同号下面都是"+",2个异号下面都是& ...
- 蓝桥杯c语言试题幸运数,蓝桥杯 历届试题 幸运数 dfs
时间限制:1.0s 内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...
- 南阳32--组合数(Dfs)
组合数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合. ...
最新文章
- C4D和Redshift:2D矢量到三维渲染 Cinema 4D and Redshift: 2D vector to 3D render
- 【MATLAB】数组运算
- mysql for 语句执行顺序_MySQL查询语句的执行流程
- Python入门100题 | 第052题
- 分布式ID-美团(Leaf)
- windows 系统监视器_使用Windows 7中的可靠性监视器对计算机问题进行故障排除
- 前端学习(2870):Vue路由权限『前后端全解析』1
- markdown下编辑latex数学公式
- 如何把测试库的统计信息导入到生产库
- (16)Verilog模块例化-基本语法(四)(第4天)
- 设置webstorm实时预览看这一篇就够了,5分钟解决!!
- Windows 10 未安装任何音频输出设备 解决方案
- 十一、看门狗定时器实现1秒定时
- python里面snip什么意思_文献检索里面SJR是什么,SNIP指标是什么
- 【最终幻想15 国王之剑】制作介绍2:最大限度满足角色,背景和道具的要求
- python风控模型举例_一文搞定风控模型6大核心指标(附代码)
- [机缘参悟-39]:鬼谷子-第五飞箝篇 - 警示之二:赞美的六种类型,谨防享受赞美快感如同鱼儿享受诱饵。
- CentOS7下安装配置zookeeper集群及设置开机自启
- Mac 与PC键盘的对比及快捷键(黑苹果)
- java软件工程师工作业绩_JAVA软件工程师简历自我评价
热门文章
- oj运行时错误如何查找原因_VLOOKUP又失灵?避免这四种错误类型
- python怎样编写定时程序_Python如何实现定时器功能
- android病毒下载地址,LINE病毒查杀
- html 甘特图_Rplotly|交互式甘特图(Gantt chart)项目管理/学习计划
- java privilege的用法_java反射--注解的定义与运用以及权限拦截
- C++内联(inline)函数
- STM32F1笔记(十二)DAC
- c#中 uint_C#中的uint关键字
- python中bool函数_bool()函数以及Python中的示例
- windows系统下的云服务器部署tomcat