闲来无事,跑到POJ上找找水题,好久不写C的代码,感觉生疏了。

View Code

 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相关推荐

  1. Trees Made to Order ZOJ - 1062

    +传送门:https://vjudge.net/problem/ZOJ-1062 解题思路: 递归,catalan数 实现代码: #include <cstdio> #include &l ...

  2. linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  3. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  4. POJ刷题列表——正在进行

    转载自:http://blog.csdn.net/pyub153/article/details/50480333 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心 ...

  5. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  6. ACM POJ 题目分类(完整整理版本)

    DP: 1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题   ...

  7. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  8. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

  9. POJ ACM题分类

    初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj329 ...

最新文章

  1. 周一02.3运行python程序的两种方式
  2. C语言Socket动态ajax网页,简单的ajax聊天网页 socket
  3. MATLAB从入门到精通:MATLAB矩阵操作
  4. 获取一亿数据获取前100个最大值
  5. 买了服务器之后如何操作系统,买了服务器之后如何操作系统
  6. Ubuntu中安装python3
  7. 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
  8. Android 8.0学习(5)---模块化内核
  9. 金蝶k3财务接口_记录用友T+接口对接的心酸历程
  10. 《精通Spring MVC 4》——1.3 start.Spring.io简介
  11. Scala 学习总结
  12. 5分钟了解什么是自然语言处理技术
  13. AutoCAD输出矢量图
  14. php 网站的多语言设置(IP地址区分国内国外)
  15. pdf.js插件在线预览pdf文件以及所遇问题解决方案(兼容IE)
  16. C# 中通过CancellationTokenSource实现对超时任务的取消
  17. Uploadifive上传
  18. 宾果消消消鸿蒙版,宾果消消消最新版
  19. Html设置超链接文字颜色
  20. es6---Promise

热门文章

  1. Mysql设置某字段唯一
  2. UE4中Component和Subobject的区别
  3. Android开发系列(十七):读取assets文件夹下的数据库文件
  4. Docker学习笔记 - Docker容器的日志
  5. JS实践与写博客-序
  6. css在线工具_已迁移
  7. 二十个方法鼓励自己最有效
  8. [转]ExtJs中使用中碰到的三个问题的解决方法
  9. FCKeditor 配置、扩展
  10. asp.net控件开发技巧(2)关闭基类不必要的功能