符号三角形

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1899    Accepted Submission(s):
977

Problem Description
符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异
号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 。 n=7时的1个符号三角形如下:
+ + - + - + +

+ - - - - +
- + + + -
- + + -
- + -
- -
+
 
Input
每行1个正整数n <=24,n=0退出.
 
Output
n和符号三角形的个数.
 
Sample Input
15
16
19
20
0
 
Sample Output
15 1896
16 5160
19 32757
20 59984
越来越感觉自己智障了= =
破题第一次看每一点思路,后来disguss看打表还是不知道咋搜,
今天突然意识到类似于一颗二叉树,用0,1分别代替+,-;则a,b二者的儿子就是a^b;
直接开二维数组(mdzz先开始一直想着用一维数组鼓捣半天公式也没整出来),dfs出倒三角的第一行,在调函数补全这个三角,判断+-个数,满足就打表>_<
代码太水不发了

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; //1表示-,0表示+
long long num[25]={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 a[30][30],n,counts;
void pd();
void dfs(int id)
{
if(id==n+1) {pd();return;}
for(int i=0;i<=1;i++)
a[1][id]=i,dfs(id+1);
}
void pd()
{
int i,j,k=1,sumn=n*(n+1)/4,temp,one=0,two=0,sumn2,q=n+1;
int digit[2]={0,0};
for(i=1;i<=n;i++) digit[a[1][i]]++;
for(i=2;i<=n;i++){
for(j=1;j<=n+1-i;j++){
a[i][j]=(a[i-1][j]^a[i-1][j+1]);
digit[a[i][j]]++;
}
//if(digit[0]>sumn||digit[1]>sumn) return;
}
if(digit[0]==digit[1]) counts++;
}
int main()
{
for(n=1;n<=24;n++) {if(n==15||n==16||n==19||n==20) continue;counts=0;dfs(1);cout<<counts<<",";}
int m,i,j,k,n;
return 0;
}

 

最新文章

  1. LeetCode 204 Count Primes
  2. ASP.NET实现微信功能(1)(创建菜单,验证,给菜单添加事件)
  3. 第一周:Java基础知识总结(1)
  4. The implementation details of the built thermal setup
  5. ABAP OO与ALV结合方式探索(2)
  6. 北大ACM(POJ1005-I Think I Need a Houseboat)
  7. RIDE常用快捷键
  8. 必看谷歌HTML/CSS规范
  9. SpringMVC + Mybatis bug调试 SQL正确,查数据库却返回NULL
  10. 详解EBS接口开发之库存事务处理-物料批次导入
  11. Android Studio教程07-Fragment的使用
  12. cmd的变量总结
  13. POJ 1094 Sorting It All Out 【拓扑排序】
  14. FJUT 聪明的商人(树上倍增)题解
  15. Codeforces Round #349 (Div. 1) B. World Tour 暴力最短路
  16. UVA12585_Poker End Games
  17. SAE部署Django1.6+MySQL
  18. Ldap用户登陆操作系统提示Permission denied, please try again.
  19. Go语言 channel 管道 阻塞 死锁 经典问题
  20. python 获取exception 名字

热门文章

  1. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
  2. spring中对象转json过滤(jackson)
  3. 03: 自定义异步非阻塞tornado框架
  4. 20145122 《Java程序设计》课程总结
  5. 20145333茹翔 Exp7 网络欺诈技术防范
  6. ACM数论之旅6---数论倒数,又称逆元(我整个人都倒了( ̄﹏ ̄))
  7. vijos 1360 八数码问题 - 启发式搜索
  8. soapUi在调用过程中日期参数
  9. IDEA Java开发常用插件
  10. Android widget