摘要: 借鉴别人的方法写了一下,收获挺大。题目分析:设树中任意结点为A,当结点A为终端结点,则只需要一个石子对其进行填充;当结点a为非终端结点时,需要的石子数则由其孩子结点而定。设结点A有k个孩子(A0,A1,...,Ak-1),每个孩子需要填充时需要ai(0=ik)个石子,将ai存储于任意数组num[i]中,对其按降序进行排列,选出num[i]+i的最大值,即为所需石子数。poj1694http://poj.org/problem?id=1694 阅读全文
posted @ 2010-12-11 07:52 聊聊IT那些事 阅读(772) 评论(3) 推荐(0) 编辑
摘要: 用DFS算法即可。思想:(1)按照苹果数递减的方法,从而保证了所排列的情况不会出现重复的现象。(2)判断条件(s==n)即所排列的盘子数和总盘子数相等的情况下,比较所放的苹果数是否相等,即 t==m. (3)利用count来记录每次排列完比较后的结果,也就是题目所要求的不同分法。poj1664http://poj.org/problem?id=1664 阅读全文
posted @ 2010-12-11 07:45 聊聊IT那些事 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 一,结构体优点如下,(1)可以包含不同数据类型的一个结构体(2)相同的结构体变量是可以相互赋值的(3)节省内存空间 注意:结构体声明的时候本身不占用任何内存空间,只有当你用你定义的结构体类型定义结构体变量的时候计算机才会分配内存。 直接内存操作避免了栈空间开辟结构变量空间的需求,节省内存。(4)效率高 根据反汇编的思想,结构体在栈中是离散的,而数组在栈中是连续的,而访问起来结构体相对快一些,也在一些教材上看到过,说结构体的效率高是拿空间换取时间的,我个人认为,应该是存储和访问方式的不同而使其效率较高。(有更好的说法希望读者朋友们多多指点)举例: struct data{ int num; c 阅读全文
posted @ 2010-12-08 21:22 聊聊IT那些事 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 刚和老师吃饭回来,老师的一番话,使即将走出校门开赴战场的我惊醒了,不管老师的话出于哪种因素,现在,我知道我最需要的是什么,未来的方向,或者是现在的方向是我急需要考虑的。 而这样的选择似乎又不是那么容易去决定的:当初的承诺,或是现在的使命,或是自我的前途。。。。。。。,现在发觉有好多事情都冒出来了,而我这个人又是一个在碰到问题时总喜欢先去衡量哪些事最重要,哪些事又是比较重要或不重要,之后才会去做出选择。但现在,我发觉自己真迷茫了,我所有的雷厉风行处事果断现在却成了优柔寡断艰难抉择。但,这仍然需要我去做出一个选择,没得挑。当初的承诺,现在想想有好大一部分是感性因素的左右吧,或是责任,或是简单的帮助 阅读全文
posted @ 2010-12-05 19:36 聊聊IT那些事 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 转:问题描述一:(分析scanf()和getchar()读取字符) scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序:程序1: #include <stdio.h> int main() {char ch1, ch2;scanf("%c", &... 阅读全文
posted @ 2010-12-04 18:16 聊聊IT那些事 阅读(3340) 评论(3) 推荐(4) 编辑
摘要: 1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于mal... 阅读全文
posted @ 2010-12-04 14:41 聊聊IT那些事 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 模拟死锁检测算法 1. 输入: “资源分配表”文件,每一行包含资源编号、进程编号两项(均用整数表示,并用空格分隔开),记录资源分配给了哪个进程。 “进程等待表”文件,每一行包含进程编号、资源编号两项(均用整数表示,并用空格分隔开),记录进程正在等待哪个资源。 下面是一个示例: 资源分配表: 1 1 2 2 3 3 进程等待表: 1 2 2 3 3 1... 阅读全文
posted @ 2010-12-04 14:12 聊聊IT那些事 阅读(7072) 评论(1) 推荐(0) 编辑
摘要: 银行家可以把一定数量的资金供多个用户周转使用,为保证资金的安全银行家规定: 1.当一个用户对资金的最大需求量不超过银行家现有的资金就要接纳该用户; 2.用户可以分期贷款,但垡的总数不能超过最大需求量; 3.当银行家现有的资金不能满足用户的沿需垡数时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款; 4当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金. 假设共有3类资源A ... 阅读全文
posted @ 2010-12-04 14:11 聊聊IT那些事 阅读(712) 评论(0) 推荐(1) 编辑
摘要: 作业调度主要有FIFO,运算时间短的作业优先,优先数调度算法,响应比最高者优先调度算法,均衡调度算法 模拟最高响应比优先作业调度算法 输入:作业流文件,其中存储的是一系列要执行的作业, 每个作业包括三个数据项: 作业号、作业进入系统的时间(用一整数表示,如10:10,表示成1010)、估计执行时间(单位分)优先级(0级最高) 参数用空格隔开,下面是示例: 1 800 50 2 815 30 3 8... 阅读全文
posted @ 2010-12-04 14:09 聊聊IT那些事 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 要求: 1。实现三种算法: 1。先来先服务 2。最短寻道优先(老师会给当前磁头的位置) 3。电梯算法 2。磁道服务顺序从指定的文本文件(TXT文件)中取出 3。输出: 第一行:磁道的服务顺序 第二行:显示移动总道数 本程序包括:FIFO,最短寻道优先调度算法,电梯算法磁盘调度 阅读全文
posted @ 2010-12-04 14:07 聊聊IT那些事 阅读(468) 评论(0) 推荐(0) 编辑