03 2014 档案
摘要:/*==========================*\ | 计算几何基础函数 | | 1.点和向量的定义 | | 2.向量的基本运算 | | 3.点积 | | 4.向量长度 | | ...
阅读全文
摘要:Space AntTime Limit:1000MSMemory Limit:10000KTotal Submissions:2876Accepted:1839DescriptionThe most exciting space discovery occurred at the end of the 20th century. In 1999, scientists traced down an ant-like creature in the planet Y1999 and called it M11. It has only one eye on the left side of it
阅读全文
摘要:Surround the TreesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6812Accepted Submission(s): 2594Problem DescriptionThere are a lot of trees in an area. A peasant wants to buy a rope to surround all these trees. So at first he must know the minima
阅读全文
摘要:2014年4月份日常记录表(2014.4.1—4.30,30天)日期周次天数编程日记阅读英语备注2014.4.1周二第1天完成完成完成完成《ACM-ICPC培训资料汇编(7)计算几何分册》基本几何运算《数据结构教程》课后题2014.4.2周三第2天完成完成完成完成《计算几何.pdf》《数据结构教程》...
阅读全文
摘要:War on WeatherTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 300Accepted Submission(s): 162Problem DescriptionAfter an unprovoked hurricane attack on the south shore, Glorious Warrior has declared war on weather. The first salvo in this campaign w
阅读全文
摘要:实验3链表基本操作实验目的1.定义单链表的结点类型。2.熟悉对单链表的一些基本操作和具体的函数定义。3.通过单链表的定义掌握线性表的链式存储结构的特点。4.掌握循环链表和双链表的定义和构造方法。实验内容该程序的功能是实现单链表的定义和操作。该程序包括单链表结构类型以及对单链表操作的具体的函数定义和主函数。程序中的单链表(带头结点)结点为结构类型,结点值为整型。/*定义DataType为int类型*/typedefintDataType;/*单链表的结点类型*/typedefstructLNode{DataTypedata;structLNode*next;}LNode,*LinkedList;
阅读全文
摘要:胜利大逃亡Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23779Accepted Submission(s): 9125Problem Desc...
阅读全文
摘要:Problem DMorley’s TheoremInput:Standard InputOutput:Standard OutputMorley’s theorem states that that the lines trisecting the angles of an arbitrary plane triangle meet at the vertices of an equilateral triangle. For example in the figure below the tri-sectors of angles A, B and C has intersected an
阅读全文
摘要:Pick-up sticksTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1872Accepted Submission(s): 706Problem DescriptionStan has n sticks of various length. He throws them one at a time on the floor in a random way. After finishing throwing, Stan tries to
阅读全文
摘要:实验4:组织目录和文件实验目标:熟悉几个基本的操作系统文件和目录的命令的功能、语法和用法, 整理出一个更有条理的主目录,每个文件都位于恰当的子目录。实验背景:你的主目录中已经积压了一些文件,你决定开始规整它们。你打算新建几个子目录,然后复制或转移文件来适应这个新方案。此外,你还有一些不需要的文件,它们必须被删除。实验要求:1、使用ls 查看文件及其属性2、使用cd 切换路径3、使用touch、mkdir 创建相应的文件及文件夹4、使用rm、rmdir 删除文件及文件夹实验详解:1、使用口令student 登录为用户student。如果你使用的是图形化环境,点击[应用程序(Application
阅读全文
摘要:变形课Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 11935Accepted Submission(s): 4418Problem Description呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一
阅读全文
摘要:实验要求:实验2 顺序表其它操作实验目的1.进一步掌握在线性表的顺序存储结构上的一些其它操作。实验内容程序1已知一个线性表,用另辟空间和利用原表两种方法把线性表逆置。设计要求:在程序中构造三个子程序分别为SeqList reverse(SeqList A) /*顺序表的就地逆置 */void ListTraverse(SeqList L) /* 遍历顺序表 */SeqList create(int n) /* 建立顺序表 */ 程序2已知两个非递减有序的线性表LA和LB,将LA和LB合并成一个线性表LC,LC也非递减有...
阅读全文
摘要:Beauty ContestTime Limit:3000MSMemory Limit:65536KTotal Submissions:26180Accepted:8081DescriptionBessie, Farmer John's prize cow, has just won first p...
阅读全文
摘要:Lake CountingTime Limit:1000MSMemory Limit:65536KTotal Submissions:18201Accepted:9192DescriptionDue to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 2 3 using namespace std; 4 int n,m; 5 char a[105][105]; 6 int dx[8] = {0
阅读全文
摘要:今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢? 程序运行时,从标准输入获得数据,其格式如下: 先是一个整数n(n 2 using namespace std; 3 int ...
阅读全文
摘要:足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能。 假设有甲、乙、丙、丁四个球队。根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表: 甲 乙 丙 丁 甲 - 0.1 0.3 0.5乙 0.9 - 0.7 0.4 丙 0.7 0.3 - 0.2丁 0.5 0.6 0.8 - 数据含义:甲对乙的取胜概率为0.1,丙对乙的胜率为0.3,... 现在要举行一次锦标赛。双方抽签,分两个组比,获胜的两个队再争夺冠军。(参见【1.jpg】) 请你进行10万次模拟,计算出甲队夺冠的概率。 注意: 请仔细调试!您的...
阅读全文
摘要:在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。 变换的过程如下: 第一步. 把字符串6个一组折叠起来,比如wangximing则变为: wangxi ming 第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子...
阅读全文
摘要:实验要求:实验1 顺序表基本操作实验目的1. 熟悉C语言的上机环境,掌握C语言的基本结构。2. 会定义线性表的顺序存储结构。3. 熟悉对顺序表的一些基本操作和具体的函数定义。注意事项在做第一次“数据结构”课程实验之前,要在硬盘上建立好自己的工作目录,专门来存储你所做的实验程序及相关信息,以后每次做实验都采用这个目录。实验内容该程序的功能是对元素类型为整型的顺序表进行一些操作。该程序包括顺序表结构类型的定义以及对顺序表操作的具体的函数定义和主函数。/* 定义DataType为int类型 */typedef int DataType; /*顺序表存储空间的总分配量*/#define M...
阅读全文
摘要:今有 6 x 6 的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子。我们希望推算出所有可能的放法。下面的代码就实现了这个功能。 初始数组中,“1”表示放有棋子,“0”表示空白。 1 int N = 0; 2 3 bool CheckStoneNum(int x[][6]) 4 { 5 for(int k=0; k=3) // 本列已满 75 GoNext(x,r,c); 76 else if(rr>=3) // 本行已满 77 f(x, r+1, 0); 78 els...
阅读全文
摘要:黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子.... 黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034 有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊! 1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。 如果观察前后两项的比值,即:1/3,3/4,4/7,7...
阅读全文
摘要:标题:三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 1 void sort3p(int* x, int len) 2 { 3 int p = 0; 4 int left = 0; 5 int...
阅读全文
摘要:题目标题:前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀 1 char* prefix(char* haystack_start, char* needle_start) 2 { 3 char* haystack = haystack_start; 4 char* needle = needle_start; 5 6 7 while(*haystack && *needle){ 8 if(____
阅读全文
摘要:【2.4】设计一个算法,将一个带头节点的数据域依次为a1,a2,……,an(n>=3)的单链表的所有节点逆置,即第一个节点的数据域变为an,……,最后一个节点的数据域变为a1。 思路:我是直接在原链表上操作,当然也可以创建一个数组存储链表的数据,然后再倒序放回原链表。 答案: 1 void in...
阅读全文
摘要:题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程,或其它的辅助说明文字。 递归。 写一个递归,累计所有符合的情况,最后输出计数。 注意:1、一开始站在平地上 2、最后要恰好站在第39级台阶上。 解答:51167078 代码: 1 #include...
阅读全文
摘要:标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的...
阅读全文
摘要:题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。提交答案的格式是:yyyy-mm-dd, 例如:1980...
阅读全文
摘要:对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。 如图【1.jpg】表示了分块乘法的原理。可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组合表示一个大数。可以根据int的承载能力规定小块的大小,比如要把int分成2段,则小块可取10000为上限值。注意,小块在进行纵向累加后,需要进行进位校正。 以下代码示意了分块乘法的原理(乘数、被乘数都分为2段)。 1 void
阅读全文
摘要:某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗? 如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。 你的任务是算出所有可能情况。每个答案占一行。 答案写在“解答.txt”中,不要写在这里! 递归。 写一个..
阅读全文
摘要:2231: 交集问题(线性表)Time Limit:1 SecMemory Limit:128 MBSubmit:6Solved:3[Submit][Status][Web Board]Description设有两个单链表A,B,求出A,B的交集元素放到A中Input1 4 5 6 7 81 3 6 9 10 33Output1 6Sample Input11 14 54 6 4 8311 3 6 9 10 83Sample Output11 6 83 HINTSource 数据结构,链表练习。 对两个链表取交集输出。考验链表的实现和处理。作为练习题很适合。也纠结了不少时间。 代码:...
阅读全文
摘要:有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......” 请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。 如果有多个可能的答案,请列出所有答案,每个答案占一行。 格式是:人数,人数,... 例如,有一种可能是:20,5,4,2,0 答案写在“解答.
阅读全文
摘要:福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把 ABCDE 所代表的数字写出来。 答案写在“解答.txt”中,不要写在这里! 数学题。 写一个6重循环,计算10^6次(不会超时,计算机一般每秒可以处理10^8次操作),遍历所有情况,输出符合的结果。 注意:ABCDE这五个数字应该是不同的数字,不能出现11111的情况。 解答...
阅读全文
摘要:假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目。 题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草! 水题,数学题。 以半分钟为一次循环,循环120次,就是60分钟。加上各种判断,最后y 2 using na...
阅读全文
摘要:开平方如果没有计算器,我们如何求2的平方根?可以先猜测一个数,比如1.5,然后用2除以这个数字。如果我们猜对了,则除法的结果必然与我们猜测的数字相同。我们猜测的越准确,除法的结果与猜测的数字就越接近。根据这个原理,只要我们每次取猜测数和试除反馈数的中间值作为新的猜测数,肯定更接近答案!这种计算方法叫做“迭代法”。下面的代码模拟了如何用手工的方法求2的平方根的过程。请填写缺少的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。1 double n = 2;2 double a = 0;3 double b = n;4 ...
阅读全文
摘要:口袋中有5只红球,4只白球。随机从口袋中取出3个球,则取出1个红球2个白球的概率是多大?类似这样的数学问题,在计算的时候往往十分复杂。但如果通过计算机模拟这个过程,比如进行100000次取球模拟,统计一下指定情况出现的次数对计算机来说是方便且快速的。同样,这个原理也适用于像天气预报这样复杂的系统过程。以下的程序就是用于解决取球概率问题的。仔细阅读代码,补全空白的部分。 1 srand( (unsigned)time( NULL ) ); 2 3 int n = 0; 4 for(int i=0; i 2 #include 3 #include 4 5 int m...
阅读全文
摘要:对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 转置后变为: 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:13 9 5 114 10 6 215 11 7 316 12 8 4 下面的代码实现的功能就是要把一个方阵顺时针旋转。 1 void rotate(int* x, int rank) 2 { 3 int* y = (int*)malloc...
阅读全文
摘要:R(N)Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1815Accepted Submission(s): 929Problem DescriptionWe know that some positive integer x can be expressed as x=A^2+B^2(A,B are integers). Take x=10 for example,10=(-3)^2+1^2.We define R(N) (N is pos
阅读全文
摘要:实验 2:获取对使用命令的帮助实验环境:安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统。有另外一个无特权用户 student,密码 student 的账户存在。实验目标:熟悉手头可用的资源,以便回答有关红帽企业版 Linux 命令的问题。实验背景:你想再次修改/etc/issue 文件(参见上一次实验)。这一次,你想查看一下有没有能够显示系统主机名的转义符。实验要求:1、使用帮助工具2、使用 man 命令来解决问题实验详解:1、使用口令 student 登录为用户 student。如果你使用的是图形化环境,点击[应用程序(Application
阅读全文
摘要:实验 1:登录和使用基本的 Linux 命令实验环境:安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统。 有另外一个无特权用户 student,密码 student 的账户存在。实验目标:熟悉基本命令,使用基本的命令执行基本的 linux 任务和命令。实验背景:首先,练习使用 Linux 命令来登录、改变口令、转换成超级用户、使用 cat 命令来查看文件、使用 nano 命令来改变文件。实验要求:1、登录和使用基本的 linux 命令2、修改密码,转换成超级用户3、查看和修改文件实验详解:1、按 Ctrl+Alt+F2 切换到虚拟控制台(tty2
阅读全文
摘要:Wooden SticksTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10423Accepted Submission(s): 4287Problem DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodw
阅读全文
摘要:Children's DayTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 648Accepted Submission(s): 422Problem DescriptionToday is Children's Day. Some children ask you to output a big letter 'N'. 'N' is constituted by two vertical lin
阅读全文
摘要:Eddy's research ITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5793Accepted Submission(s): 3459Problem DescriptionEddy's interest is very extensive, recently he is interested in prime number. Eddy discover the all number owned can be divi
阅读全文
摘要:Just a NumbleTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2107Accepted Submission(s): 987Problem DescriptionNow give you two integers n m, you just tell me the m-th number after radix point in 1/n,for example n=4,the first numble after point is
阅读全文
摘要:PeriodTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2398Accepted Submission(s): 1187Problem DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether
阅读全文
摘要:18岁生日Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16784Accepted Submission(s): 5317Problem DescriptionGardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。Input一个数T,后面T行每行有
阅读全文
摘要:N皇后问题Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6905Accepted Submission(s): 3128Problem Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Outpu
阅读全文
摘要:前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果。是一种很方便的编程、算法练习平台。详情可见:百度百科 - OJ 自己搭建OJ往往很困难,购买服务器,域名,OJ配置…… 这些资金和技术壁垒无不让很多有志之士望洋兴叹。现在提供一种方便、低成本的OJ搭建方法,可以亲自体验一把自己搭建OJ、加题、设置比赛、提交代码、AC从头到尾的搭建快感。新浪云平台支持HUSTOJ,下面就给出本人在新浪云上搭建HUSTOJ的简明记录。(HUSTOJ官方社区:https://code.google.com/p/hu..
阅读全文