hdu2510 dfs打表
来源:互联网 发布:中电数据 李世锋 简历 编辑:程序博客网 时间:2024/05/16 22:15
Problem Z
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 3 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 。 n=7时的1个符号三角形如下:
+ + - + - + +
+ - - - - +
- + + + -
- + + -
- + -
- -
+
+ + - + - + +
+ - - - - +
- + + + -
- + + -
- + -
- -
+
Input
每行1个正整数n <=24,n=0退出.
Output
n和符号三角形的个数.
Sample Input
151619200
Sample Output
15 189616 516019 3275720 59984
思路 打表题:将+,-看成1,0。然后全排列。因为得到下面的只需要得到第一行就行,所以我们对第一行全排列然后求出用fun 求出下面的然后统计+,-的个数,最后相同计数器就加1。然后从1求到24全都求出来就行了。
#include<stdio.h>#include<string.h>#include<stdlib.h>int n;int a[50];int count;int b[50];int fun(int n,int count1,int count2){ if(n==0) { if(count1==count2) return 1; return 0; }int i=1; for(;i<n;i++) { if(b[i]==0) count1++; else count2++; if(b[i]==b[i+1]) b[i]=0; else b[i]=1; } if(b[i]==0) count1++; else count2++; return fun(n-1,count1,count2);}int dfs(int count1){ if(count1==n+1) { for(int i=1;i<=n;i++) { b[i]=a[i]; } if(fun(n,0,0)) count++; return 1; } a[count1]=0; dfs(count1+1); a[count1]=1; dfs(count1+1);}int main(){ int d[25]={0,0,0,4,6,0,0,12,40,0,0,171,410,0,0,1896,5160,0,0,32757,59984,0,0,431095,822229}; int n; while(scanf("%d",&n)&&n) printf("%d %d\n",n,d[n]);}
阅读全文
0 0
- hdu2510 dfs打表
- hdu2510 dfs打表
- hdu2510 符号三角形(dfs+打表) 解题报告
- HDU2510符号三角形(位运算打表)
- DFS+打表
- HDU-4706 dfs打表
- sgu157 Patience DFS打表
- HDU2212 DFS【水题】【打表】
- hdu 5676 dfs打表
- HDU4542(反素数+DFS+暴力打表)
- N皇后问题(hdu2553,dfs+打表)
- poj2034Anti-prime Sequences 打表+dfs
- POJ1016 素数环DFS+打表
- UVALive 5116 Dividing Stones(dfs + 打表)
- hdu 2510 符号三角形 dfs+打表
- HDU 2510 符号三角形 dfs打表
- HDU-5077-NAND(DFS+打表)
- nyoj 491 幸运三角形 【DFS】+【打表】
- 一段很有意思的代码
- 分布式多进程
- 单机安装部署FastDFS
- C++ Primer 学习笔记:类型转换
- JS高级程序设计第四章笔记作用域&作用域链
- hdu2510 dfs打表
- Extjs grid表头换行
- 操作数据库出现错误的查找问题方法
- netty学习(一)IO模型
- Linux-Centos 7 mysql 5.7.9 rpm install
- js学习3
- 2017.7.12 学习记录 JavaScript方法
- UE4的延迟光照
- 机器学习:多变量线性回归(Linear Regression with Multiple Variables)