上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页
摘要: 问题描述我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000000),然后对此自然数按照如下方法进行处理:1. 不作任何处理;2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.样例: 输入: 6 满足条件的数为 6 (此部分不必输出) 16 26 126 36 136输出: 6【算法的改进】一.递推式的改进输入数据要求n最大规模达到1000000。此时,O(n2)的算法在n较大时,必定超时。我们将求f[i]的递推式f[i]=1+f[1]+f[2]+…+f[i div 2]作一改 阅读全文
posted @ 2011-08-05 10:53 shallyzhang 阅读(287) 评论(0) 推荐(0)
摘要: 【问题描述】某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉(如果两条航线交叉,将有很大机会撞船)。兴建哪些航线以使在安全条件下有最多航线可以被开通。 【输入格式】输入文件(ship.in):包括了若干组数据,每组数据格式如下: 第一行两个由空格分隔的整数x,y,10〈=x〈=6000,10〈=y〈=100。x表示河的长度而y表示宽。第二行是一个整数N(1<=N<=5000),表示分布在河两岸的 阅读全文
posted @ 2011-08-05 10:53 shallyzhang 阅读(457) 评论(0) 推荐(0)
摘要: 描述 Description某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入格式 Input Format输入的第一行有两个整数L(1 <= L <= 1亿)和 M(1 < 阅读全文
posted @ 2011-08-05 10:52 shallyzhang 阅读(172) 评论(0) 推荐(0)
摘要: 字符串的展开(expand.pas/c/cpp)【问题描述】在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下:(1)遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严格大于左边的字符。(2)参数p1:展开方式。p 阅读全文
posted @ 2011-08-05 10:51 shallyzhang 阅读(466) 评论(0) 推荐(0)
摘要: 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤40)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1~MAX之间的每一个邮资值都能得到。(n<=10,k<=5)例如,N=3,K=2,如果面值分别为1分、4分,则在1分~6分之间的每一个邮资值都能得到(当然还有8分、9分和12分);如果面值分别为1分、3 分,则在1分~7分之间的每一个邮资值都能得到。可以验证当N=3,K=2时,7分就是可以得到的连续的邮资最大值,所以MAX=7,面值分别为1分、3 分。样例: INPUT OUTPUTN=3 K=2 1 3 MAX=7注:这是一道 阅读全文
posted @ 2011-08-05 10:50 shallyzhang 阅读(311) 评论(0) 推荐(0)
摘要: 1、砝码称重(Weight)【问题描述】设有1g,2g,3g,5g,10g,20g的砝码各若干枚(其总重≤1000g)。【输入格式】a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,..20g砝码有a6个)【输出格式】Total=N (N表示用这些砝码能称出的不同重量的个数,不包括一个砝码也不用的情况)【输入样例】weight.in1 1 0 0 0 0【输出样例】weight.outTotal=3,表示可以称出1g,2g,3g三种不同的重量【参考程序】//By LYLtimvar i,a1,a2,a3,a4,a5,a6,s:word; a:array[1..6]of 阅读全文
posted @ 2011-08-05 10:49 shallyzhang 阅读(800) 评论(0) 推荐(0)
摘要: 高精度数的定义:type arr=array[word]of 0..9;1.高精度加法procedure init;var i:word;begin readln(s1);readln(s2); if s1='0' then begin writeln(s2); halt; end; if s2='0' then begin writeln(s1); halt; end; la:=length(s1);lb:=length(s2); for i:=1 to la do a[la-i+1]:=ord(s1[i])-ord('0'); for i:= 阅读全文
posted @ 2011-08-05 10:48 shallyzhang 阅读(261) 评论(0) 推荐(0)
摘要: 1.快速排序procedure qsort(l,r:word);var pl,pr,m,t:integer;begin pl:=l;pr:=r; m:=a[l+random(r-l+1)]; repeat while a[pl]<m do inc(pl); while a[pr]>m do dec(pr); if pl<=pr then begin t:=a[pl];a[pl]:=a[pr];a[pr]:=t; inc(pl);dec(pr); end; until pl>pr; if pl<r then qsort(pl,r); if pr>l then 阅读全文
posted @ 2011-08-05 10:47 shallyzhang 阅读(158) 评论(0) 推荐(0)
摘要: 【问题描述】给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示:注意:1. 加号与等号各自需要两根火柴棍2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)3. n根火柴棍必须全部用上【输入】输入文件matches.in共一行,又一个整数n(n<=24)。【输出】输出文件matches.out共一行,表示能拼成的不同等式的数目。【输入输出样例1】matches.inmatches.out142【输入输出样例1解释】2个等式为0+1=1和1+0=1 阅读全文
posted @ 2011-08-05 10:46 shallyzhang 阅读(4118) 评论(0) 推荐(1)
摘要: 背景 Background国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。描述 Description华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分 阅读全文
posted @ 2011-08-05 10:42 shallyzhang 阅读(1452) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页