POJ 1095 Trees Made to Order
闲来无事,跑到POJ上找找水题,好久不写C的代码,感觉生疏了。
1 #include<stdio.h> 2 #include<string.h> 3 #define MAXN 19 4 int num[MAXN]; 5 6 void OutputBinaryTree(int n, int k, bool s) { 7 if (n == 0) return; 8 int i, j, sum; 9 for (i = sum = 0, j=num[n-1]; sum + j < k; sum += j, ++i, j = num[i] * num[n-1-i]) {} 10 k -= sum; 11 if(s) printf("("); 12 OutputBinaryTree(i, (k + num[n-1-i] - 1) / num[n-1-i], true); 13 printf("X"); 14 j = k % num[n-1-i]; 15 OutputBinaryTree(n-1-i, j == 0 ? num[n-1-i] : j, true); 16 if(s) printf(")"); 17 } 18 19 int main(){ 20 int i, j, k; 21 memset(num, 0, sizeof(int) * MAXN); 22 num[0] = num[1] = 1; 23 for (i = 2; i < MAXN; i++) 24 for (j = 0; j < i; j++) 25 num[i] += num[j] * num[i-1-j]; 26 27 while(scanf("%d", &k) && k) { 28 for (i = 1; k > num[i]; k -= num[i], ++i){} 29 OutputBinaryTree(i, k, false); 30 printf("\n"); 31 } 32 return 0; 33 }
转载于:https://www.cnblogs.com/ltang/archive/2013/03/06/2947166.html
POJ 1095 Trees Made to Order相关推荐
- Trees Made to Order ZOJ - 1062
+传送门:https://vjudge.net/problem/ZOJ-1062 解题思路: 递归,catalan数 实现代码: #include <cstdio> #include &l ...
- linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法
常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx ...
- (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...
- POJ刷题列表——正在进行
转载自:http://blog.csdn.net/pyub153/article/details/50480333 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心 ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- ACM POJ 题目分类(完整整理版本)
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- hdu与poj题目分类
POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...
- POJ ACM题分类
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj329 ...
最新文章
- 周一02.3运行python程序的两种方式
- C语言Socket动态ajax网页,简单的ajax聊天网页 socket
- MATLAB从入门到精通:MATLAB矩阵操作
- 获取一亿数据获取前100个最大值
- 买了服务器之后如何操作系统,买了服务器之后如何操作系统
- Ubuntu中安装python3
- 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
- Android 8.0学习(5)---模块化内核
- 金蝶k3财务接口_记录用友T+接口对接的心酸历程
- 《精通Spring MVC 4》——1.3 start.Spring.io简介
- Scala 学习总结
- 5分钟了解什么是自然语言处理技术
- AutoCAD输出矢量图
- php 网站的多语言设置(IP地址区分国内国外)
- pdf.js插件在线预览pdf文件以及所遇问题解决方案(兼容IE)
- C# 中通过CancellationTokenSource实现对超时任务的取消
- Uploadifive上传
- 宾果消消消鸿蒙版,宾果消消消最新版
- Html设置超链接文字颜色
- es6---Promise