nyoj-----幸运三角形
时间:2022-05-05
本文章向大家介绍nyoj-----幸运三角形,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
幸运三角形
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒置的金字塔形状,除第一层外(第一层为所有可能情况),每层形状都由上层决定,相邻的符号相同,则下层的符号为‘+’,反之,为‘-’;如下图所示(n = 3 时的两种情况):
如果图中的两种符号个数相同,那这个三角形就是幸运三角形,如上图中的图(2).
输入有多组测试数据(少于20组)。
每行含一个整数n(0<n<20)。输出输出相应的幸运三角形个数。样例输入
3
4
样例输出
4
6
代码:
1 #include<stdio.h>
2 int str[20]={0};
3 bool map[20][20];
4 void dfs(int x,int pos)
5 {
6 int i;
7 if(x==pos)
8 {
9 int ans=0;
10 do{
11 if(map[pos][pos]) ans++;
12 for(i=1;i<pos;i++) //下一城
13 {
14 if(map[pos][i]==map[pos][i+1]) map[pos-1][i]=1; //tong wei 1
15 else map[pos-1][i]=0;
16 if(map[pos][i]) ans++;
17 if(4*ans>x*(x+1)) return ;
18 }
19 }while(--pos);
20 if(4*ans==x*(x+1)) str[x]++;
21 return ;
22 }
23 map[x][pos+1]=0; //采用横向搜索
24 dfs(x,pos+1);
25 map[x][pos+1]=1;
26 dfs(x,pos+1);
27 }
28 int main()
29 {
30 int n,i;
31 for(i=1;i<19;i++)
32 {
33 if(i%4==3||i%4==0)dfs(i,0);
34 }
35 str[19]=32757;
36 while(scanf("%d",&n)!=EOF)
37 {
38 printf("%dn",str[n]);
39 }
40 return 0;
41 }
- PhalGo-Request
- PhalApi-Excel
- PhalGo-Viper获取配置
- Dubbo 源码解析 —— 集群容错架构设计
- PhalGo-ADM思想
- 数据库中间件 Sharding-JDBC 源码分析 —— JDBC实现与读写分离
- Pytorch 0.3.0 发布:新增张量函数,支持模型移植
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 执行
- PhalGo-初识PhalGO
- 【学术】如何在神经网络中选择正确的激活函数
- PhalGo-Echo路由
- PhalGo-介绍
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— 分布式主键
- [喵咪Golang(2)]安装和Helloworld
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 聊聊dubbo-go的TokenFilter
- 你这磨人的小妖精——选中文本并标注的实现过程
- VUE跨页面传值的精妙
- 一文解决如何提取TCGA配对表达矩阵
- CSS中的伪类选择器、颜色、度量单位、文本字体及文本样式设置
- CSS盒模型、边框和背景、表格和列表、颜色和透明度、阴影和轮廓及长度单位rem
- C++核心准则CP.110:不要自已为初始化编写双重检查锁定代码
- BOSS直聘招聘信息获取之爬虫程序数据处理
- BOSS直聘招聘信息获取之爬虫程序分析
- 历时4个多月,学习了这 66 个CSS 特效
- ArrayList、LinkedList哪家强,据说90%人都不知道
- Windows创建克隆隐藏账号
- 学员分享-aspera踩坑记录
- BOSS直聘招聘信息获取之爬虫工具分析
- 把你的shiny网页工具部署在云服务器