例题6-6 UVs679 Dropping Balls(二叉树)
2016-02-04 16:16
288 查看
题意:
看白书
要点:
完全就是二叉树,直接用一个数组建树。但是直接模拟这样做会TLE,每次都要模拟前面所有的运动情况,每组测试程序下落总层数可能有2^19*19=9961472,又一共可能有10000组数据,超时是肯定的,所以有简便方法,根据奇偶来判断,直接模拟最后一个小球的路线
看白书
要点:
完全就是二叉树,直接用一个数组建树。但是直接模拟这样做会TLE,每次都要模拟前面所有的运动情况,每组测试程序下落总层数可能有2^19*19=9961472,又一共可能有10000组数据,超时是肯定的,所以有简便方法,根据奇偶来判断,直接模拟最后一个小球的路线
#include<stdio.h> #include<string.h> int main() { int D, I,t; while (scanf("%d", &t)!=EOF&&t!=-1) { while (t--) { scanf("%d %d", &D, &I); int k = 1; for (int i = 0; i < D - 1; i++) { if (I % 2) //奇数往左 { k = 2 * k; I = (I + 1) / 2; //在左子树中是第几个到的,再次判断奇偶 } else { k = 2 * k + 1; I = I / 2; } } printf("%d\n", k); } } return 0; }
相关文章推荐
- 架设Squid代理作为WEB缓存加速
- Linux 查看内存插槽数、最大容量和频率
- apache 职责链 使用
- linux网卡驱动程序分析
- hyper-v 虚拟机 挂载硬盘
- Linux 下 sudoer文件的一些介绍
- Windows玩转Docker(二):运行whalesay image
- Linux C打印IP地址信息
- Linux添加用户(user)到用户组(group)
- 反向代理介绍
- fastdfs集群配置
- 如何配置tomcat项目的默认页面为.action或其他后缀名的方法(文件)
- Nginx配置详解
- linux快捷上传下载文件
- Linux下编译安装python3
- Centos7-minimal安装完成后需要完成的几件事情
- Node.js之学习网站
- Windows下Apache+Tomcat实现应用集群
- Apache 2.4 + Tomcat7集群配置
- Libx265在windows+linux下的编译