摘要:
描述话说南京的城市规划一般一般,各个大学分布极不合理,难于沟通。 我们夜猫族打算用一种常人难以想象的方式建立大学通道:用地道使得所有大学都相通。 但地道的造价不菲,而大学生是贫困群体,所以我们希望用尽量小的代价。 已知建设一条地道的费用和地道的距离成正比。其关系是,一个单位的距离需要的花费是7个ACM币,在ACM世界里货币的换算方法简单极了,29个ACM币等于一个DS币,17个DS币等于一个算法币。(ACM币单位为ac,DS币单位为ds,算法币单位为al) 但是学校太多了,而且有些学校不能直接连接(比如,跨湖或跨江地道太难建设了)。需要聪明的你的帮助。 输入第一行包含两个整数N,M。N表示学校 阅读全文
posted @ 2013-11-21 23:57
七年之后
阅读(395)
评论(0)
推荐(0)
摘要:
描述有这样一个游戏:从一个正整数开始,两人轮流进行如下运算: 若是奇数,就把这个数乘以3再加1;若是偶数,就把这个数除以2。这样演算下去,直到第一次得到1才算结束,首先得到1的获胜。 比如,要是从1开始,就可以得到1→4→2→1;要是从17开始,则可以得到17→52→26→13→40→20→10→5→16→8→4→2→1。 这个问题就是叙拉古猜想,也叫科拉兹猜想或角谷猜想。 现在,你和你的朋友一起玩这个游戏,由你先开始,请问谁获胜? 输入第一行N(Nusing namespace std;int main(){ int test; cin>>test; while(test-... 阅读全文
posted @ 2013-11-21 23:55
七年之后
阅读(509)
评论(0)
推荐(0)
摘要:
描述回文是一种有趣的现象。英语中单词Palindromes指顺读倒读都一样的词语,比如radar,reviver,repaper,deified,rotator。美国南卡罗来那州查尔斯顿市北部有一片沼泽地,其名字的拼法也采用了这一形式:Wassamassaw,印第安语的意思是“世界上最恶劣的地方。 现在给定一个单词,要求你判断这个单词是不是回文词。 输入输入数据由若干行组成,每行一个单词(长度为[1,256]),仅由字母组成,没有前导或后置的非法字符,单词后紧跟换行回车符。 输出对于一个单词,如果是回文词,输出“Bingle! Palindrome.”,否则,输出“Not Palindrome 阅读全文
posted @ 2013-11-21 23:53
七年之后
阅读(420)
评论(0)
推荐(0)
摘要:
描述 为了丰富校园网络生活,学校 BBS 举行了一次水王争霸赛。比赛开始后,选手们疯狂灌水,都想争取到水王这个荣誉称号。但学校的 BBS 是如此的不堪一击,才 1e-3 秒就超负荷了。 现在需要把选手们灌的水集合起来,降低服务器负荷。 事情是这样得到处理的: 假设每个选手每次灌水量为1L,每灌一次水,服务器就用一个容量为无限的虚拟容器收集这1L水。 最后服务器中有N个容器收集了水。而服务器最多能负载K个装了水的容器。但是,服务器只有一种自救措施:就是把两个装了同样多水的容器合并到这两个容易中的其中一个,另一个空了的直接free它。 然而不能排除这种情况的存在:通过自救方式,仅由选手们灌... 阅读全文
posted @ 2013-11-21 23:49
七年之后
阅读(749)
评论(0)
推荐(0)
摘要:
描述在一些美国主要城市里,为企业传送文件和小物品的自行车快递长期以来就是流动运输服务的一部分。波士顿的骑车人是不同寻常的一族。他们以超速、不遵守单行道和红绿灯、无视汽车、出租、公交和行人的存在而臭名远扬。快递服务竞争激烈。比利快递服务公司(BBMs)也不例外。为发展业务,制定合理的收费,BBMS正根据快递员能走的最短路线制定一项快递收费标准。而你则要替BBMS编写一个程序来确定这些路线的长度。以下假设可以帮助你简化工作:●快递员可以在地面上除建筑物内部以外的任何地方骑车。●地形不规则的建筑物可以认为是若干矩形的合并。并规定,任何相交矩形拥有共同内部,而且是同一建筑物的一部分。●尽管两个不同的建 阅读全文
posted @ 2013-11-21 23:47
七年之后
阅读(337)
评论(0)
推荐(0)
摘要:
描述给定一个正整数,求其各位之和。 输入输入一行,为一个正整数(最多10,000位)。 输出输出各位之和。样例输入17样例输出8#include #include #define N 10000using namespace std;int main(){ string a; int sum=0,len; cin>>a; len=a.size(); for(int i=len-1;i>=0;i--) sum+=(a[i]-'0'); cout<<sum<<endl; return 0;} 阅读全文
posted @ 2013-11-21 23:41
七年之后
阅读(331)
评论(2)
推荐(0)
摘要:
描述设有n个城市,编号为0~n-1,m条单向航线的起点和终点由输入提供,寻找一条换乘次数最少的线路方案。输入第一行为三个整数n、m、v,表示城市数、单向航线数和起点城市。以下m行每行两个整数,表示一条边的起点、终点,保证不重复、不失败。2≤n≤20,1≤m≤190输出共n-1行,分别是从起点城市v到其他n-1个城市最少换乘次数,按照终点城市序号从小到大顺序输出,不能抵达时输出-1。样例输入3 2 0 0 1 1 2样例输出1 2 #include#includeusing namespace std;int a[20][20]={0};int b[20];int n;bool *visit;v 阅读全文
posted @ 2013-11-21 23:40
七年之后
阅读(718)
评论(0)
推荐(0)
摘要:
描述图(graph)是数据结构 G=(V,E),其中V是G中结点的有限非空集合,结点的偶对称为边(edge);E是G中边的有限集合。设V={0,1,2,……,n-1},图中的结点又称为顶点(vertex),有向图(directed graph)指图中代表边的偶对是有序的,用代表一条有向边(又称为弧),则u称为该边的始点(尾),v称为边的终点(头)。无向图(undirected graph)指图中代表边的偶对是无序的,在无向图中边(u,v )和(v,u)是同一条边。输入边构成无向图,求以顶点0为起点的宽度优先遍历序列。输入第一行为两个整数n、e,表示图顶点数和边数。以下e行,每行两个整数,表示一 阅读全文
posted @ 2013-11-21 23:38
七年之后
阅读(547)
评论(0)
推荐(0)
摘要:
描述图(graph)是数据结构 G=(V,E),其中V是G中结点的有限非空集合,结点的偶对称为边(edge);E是G中边的有限集合。设V={0,1,2,……,n-1},图中的结点又称为顶点(vertex),有向图(directed graph)指图中代表边的偶对是有序的,用代表一条有向边(又称为弧),则u称为该边的始点(尾),v称为边的终点(头)。无向图(undirected graph)指图中代表边的偶对是无序的,在无向图中边(u,v )和(v,u)是同一条边。输入边构成无向图,求以顶点0为起点的深度优先遍历序列。输入第一行为两个整数n、e,表示图顶点数和边数。以下e行每行两个整数,表示一条 阅读全文
posted @ 2013-11-21 23:37
七年之后
阅读(1561)
评论(0)
推荐(0)
摘要:
描述回文数是这样一个正整数:它从左往右读和从右往左读是一样的。例如1,111,121,505都是回文数。将1到100,000,000内所有回文数按从小到达排序后,第k个回文数是多少呢?输入第一行为一个整数N,表示询问的次数。以下N行每行一个整数k,表示询问第k个回文数是多少。输出输出共N行,按照输入数据的顺序,依次输出第k个回文数。样例输入2 5 10样例输出5 11#includeint main(){int n,j,i,k;scanf("%d",&n);while(n--){scanf("%d",&k);if(k<=9);els 阅读全文
posted @ 2013-11-21 23:33
七年之后
阅读(883)
评论(0)
推荐(0)
摘要:
描述Na 给准备送给ZZ两个整数,a, b,他还计算了这两个整数的平均值c,碰巧c也是整数。 但是Na 突然把b给弄丢了,你要帮助Na通过a, c计算出来b的值。输入输入为一行,两个用空格隔开的整数 a, c (-1000using namespace std;int main(){ int a,c; cin>>a>>c; cout<<2*c-a<<endl; return 0;} 阅读全文
posted @ 2013-11-21 23:32
七年之后
阅读(175)
评论(0)
推荐(0)
摘要:
描述对于一个只由0,1组成的序列,要求该序列中不能有相邻的1。问对于给定长度N,满足条件的0,1序列共有多少种呢?输入第一行为一个整数Q,表示询问的次数。接下来Q行每行一个整数N(1using namespace std;int main(){ int a[45]={0}; int q,n; a[1]=2; a[2]=3; for(int i=3;i>q; for(int j=0;j>n; cout<<a[n]<<endl; } return 0;} 阅读全文
posted @ 2013-11-21 23:30
七年之后
阅读(306)
评论(0)
推荐(0)
摘要:
描述给你一个数字求它的所有约数的和。比如12,约数有1,2,3,4,6,12 加起来是28现在给你一个数字I。 (1 #includeusing namespace std;int main(){ int n,m; cin>>n; int a[1001],b[1001],c[1001]; int i,j=0,k=0; for(i=0;i>a[i]; cin>>m; for(i=0;i<n;i++) { if(a[i]<m) { b[j]=a[i]; j++; }... 阅读全文
posted @ 2013-11-21 23:27
七年之后
阅读(368)
评论(0)
推荐(0)
摘要:
描述给定整数a,b,n,要求计算(a^b)mod n输入多组数据,每组数据一行,为三个用空格隔开的整数a,b,n1using namespace std;__int64 mod(__int64 a,__int64 b,__int64 c) { __int64 m=1; while(b>=1) { if(b%2==1) m=a*m%c; a=a*a%c; b=b/2; } return m; }int main(){ __int64 a,b,c,result; while(... 阅读全文
posted @ 2013-11-21 23:26
七年之后
阅读(360)
评论(0)
推荐(0)
摘要:
描述sed 同学最近突发奇想,认为伟大的建筑物的屋顶应该是“自由堆叠”出来的,他的设计方案是:将各种颜色的长方形建筑板材堆叠在一起,并保证各个板材长边、宽边均相互平行或在一条直线上,板材之间的重叠部分用连接装置固定在一起。你的任务是计算这个“自由堆叠的屋顶”所覆盖的面积。sed 将会在屋顶平面上建立一个二维坐标系,提供给你每个长方形建筑板材左上角、右下角的坐标。为简化计算,这里忽略板材的厚度,假设它们都在同一个平面上。输入输入数据包含多组测试案例。每组测试案例由N(0≤N≤100)开头,后续N行每行包含4个实数x1;y1;x2;y2 (0 #include#includeusing names 阅读全文
posted @ 2013-11-21 23:24
七年之后
阅读(344)
评论(0)
推荐(0)
摘要:
描述一定数目的点或圆在等距离的排列下可以形成一个等边三角形,这样的数被称为三角形数。比如10个点可以组成一个等边三角形,因此10是一个三角形数: x x x x x x x x x x开始18个三角形数是1、3、6、10、15、21、28、36、45、55、66、78、91、105、120、136、153、171。请求出第n个三角形数。输入输入数据包含多组测试用例。每组测试用例为一个整数N,长度不超100。输出对于每组测试用例,输出对应的三角形数。样例输入1 2 3 4 5 11111111样例输出1 3 6 10 15 61728399382716import java.math... 阅读全文
posted @ 2013-11-21 23:17
七年之后
阅读(346)
评论(0)
推荐(0)
摘要:
描述建筑群所有建筑高度分别为h1、h2…hN,可以得到一些单调递减的序列hi1、hi2…hiK,其长度称为建筑群的坡值,这里1≤i1#includeusing namespace std;int main(){ //freopen("a.txt","r",stdin); int n,*a,*count,max; cin>>n; a=(int *)malloc(n*sizeof(int)); count=(int *)malloc(n*sizeof(int)); int i,j; for(i=0;i>a[i]; for(i=0;i=0;i 阅读全文
posted @ 2013-11-21 23:15
七年之后
阅读(315)
评论(0)
推荐(0)
摘要:
描述校ACM协会近四个月举行了为期100天ACM程序设计之马拉松竞赛,竞赛题总数为1000,同学们反响热烈,先后有许多ACM程序设计竞赛爱好者报名,这些选手按报名时间从1开始先后编号,成功解答的题目数为选手的成绩。今天进行成绩统计和颁奖仪式,已知按编号排序的选手成绩(各不相同),根据给定标准成绩将这些选手划为两个部分,小于标准成绩的选手不能获得任何奖项,大于等于标准成绩的选手将得到嘉奖,并依成绩从低到高上台领奖。输入共三行:第一行给出选手人数(不超过1000);第二行依编号从低到高给出选手成绩;第三行给出标准成绩。输出共两行:第一行给出根据标准成绩划分后的选手成绩,小于标准成绩的部分、大于等于 阅读全文
posted @ 2013-11-21 23:14
七年之后
阅读(381)
评论(0)
推荐(0)
摘要:
描述常见文本编辑器的一个功能是搜索,打开一段英文文字,根据一个给定的英文短语,可以搜索得到这个短语在文章中的位置,短语有可能重复出现。现请求出给定的短语在一段文字中出现的最后一个位置。文字中单词从1开始编号,所求的位置为短语第1个单词在这段文字中对应单词的编号。 输入多行,每行以 # 为结束,第1行为一段英文文字(单词数、数字不多于500),其余行是待搜索的英文短语(单词数不多于10)。这里英文文字、英文短语只包含英文单词,这些单词以空格分隔。输出多行,每一行对应输入中给定的短语在文字中出现的最后一个位置,搜索不到时输出-1。样例输入STOCKHOLM April 21 PRNewswire 阅读全文
posted @ 2013-11-21 23:12
七年之后
阅读(318)
评论(0)
推荐(0)
摘要:
描述The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summed and the process is repeated. This is continued as long as 阅读全文
posted @ 2013-11-21 22:48
七年之后
阅读(267)
评论(0)
推荐(0)
摘要:
描述A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are often used for detecting transmission errors, validating document contents, and in many other situations where it is necess 阅读全文
posted @ 2013-11-21 22:46
七年之后
阅读(276)
评论(0)
推荐(0)
摘要:
描述判断一个数是否为对称且不大于五位数的素数。 输入输入数据含有不多于50个的正整数(0using namespace std;bool sushu(int n);bool duichen(int n);int main(){ int n; while(cin>>n){ if(sushu(n)&&duichen(n)) cout10&&n100&&n1000&&n10000&&n<100000&&n%10==n/10000&&n/100%10==n/1000%10) 阅读全文
posted @ 2013-11-21 22:45
七年之后
阅读(513)
评论(0)
推荐(0)
摘要:
描述自然数中,完数寥若晨星,请在从1到某个整数范围中打印出所有的完数来。所谓“完数”是指一个数恰好等于它的所有不同因子之和。例如,6是完数,因为6=1+2+3。而24不是完数,因为24≠1+2+3+4+6+8+12=36。输入输入数据中含有一些整数n(1<n<10000)。输出对于每个整数n,输出所有不大于n的完数。每个整数n的输出由n引导,跟上冒号,然后是由空格开道的一个个完数,每个n的完数列表应占独立的一行。样例输入100 5000样例输出100: 6 28 5000: 6 28 496 #include#includeint main(){ int n,p,i,t1,t2,temp... 阅读全文
posted @ 2013-11-21 22:44
七年之后
阅读(448)
评论(0)
推荐(0)
摘要:
描述将01串首先按长度排序,长度相同时,按1的个数多少进行排序,1的个数相同时再按ASCII码值排序。 输入输入数据中含有一些01串,01串的长度不大于256个字符。输出重新排列01串的顺序。使得串按基本描述的方式排序。样例输入10011111 00001101 1010101 1 0 1100样例输出0 1 1100 1010101 00001101 10011111 #includeusing namespace std;bool f(char *p1,char *p2){ int len1,num1,num2,i; num1=num2=0; if(strlen(p1)>... 阅读全文
posted @ 2013-11-21 22:42
七年之后
阅读(418)
评论(1)
推荐(1)
摘要:
描述有一些A、C、M组成的字符串,将其按字符A排序。 输入一组测试数据,输入数据由若干行组成,每行是字符A、C或M组成的字符串。输出对所有输入的数据,先按字符A的个数进行升序排序,如果字符A的数量相等,再按出现的先后顺序排序,每行输出一个字符串。样例输入ACM MCA AACAAMMM AACCMM CMAAMMMMMM AAA样例输出ACM MCA AACCMM CMAAMMMMMM AAA AACAAMMM #include#include#include#define MAXNUM 100using namespace std;string arr[MAXNUM];int index=- 阅读全文
posted @ 2013-11-21 22:41
七年之后
阅读(245)
评论(0)
推荐(0)
摘要:
描述已知电文包括的字符集为{A,C,I,M,N,P,T,U},输入对应权值,对字符集合进行哈夫曼编码,完成电文的哈夫曼编码与译码工作。 输入共三行:第一行为对应字符集{A,C,I,M,N,P,T,U}的权值第二行为一段字符串表示的电文(长度不超过1000);第三行为一段电文的哈夫曼编码。输出共十行:前八行为各字符的编码;第九行是与第二行输入对应的哈夫曼编码;第十行是与第三行输入对应的电文。样例输入1 2 3 4 5 6 7 8 NUPTICPCACM 1111011111100样例输出A: 11110 C: 11111 I: 1110 M: 100 N: 101 P: 110 T: 00 U: 阅读全文
posted @ 2013-11-21 22:40
七年之后
阅读(608)
评论(0)
推荐(0)
摘要:
描述二叉树是非常重要的树形数据结构。复制一棵二叉树是在另一个存储区存放相同的结构和内容,而一棵二叉树上所有左右子树互换是在原存储区上的运算。请分别根据先序遍历序列建立两棵的二叉树(用#代表空树或空子树),再将这两棵二叉树复制为左右子树建立第三棵二叉树,输出先序和层次遍历序列,最后将第三棵二叉树上所有左右子树互换,并输出先序和层次遍历序列。输入共三行前两行分别对应两棵二叉树的先序遍历序列,用#代表空树或空子树第三行为第三棵二叉树的根结点。输出共四行前两行为第三棵二叉树生成时的先序、层次遍历序列,后两行为第三棵二叉树左右子树互换后的先序、层次遍历序列。样例输入B # D # # C E # # F 阅读全文
posted @ 2013-11-21 22:38
七年之后
阅读(472)
评论(0)
推荐(0)
摘要:
描述二叉树是非常重要的树形数据结构,层次遍历一棵二叉树是按从上到下、从左到右的次序访问树上的结点。例如,图1020所示的二叉树层次遍历序列为A B C D E F。图1020请根据先序遍历序列建立一棵的二叉树(用#代表空树或空子树),输出层次遍历序列。输入二叉树的先序遍历序列,用#代表空树或空子树输出二叉树层次遍历序列样例输入A B # D # # C E # # F # #样例输出LevelOrder: A B C D E F #include #include using namespace std;class BTNode{public: char data; BTNode ... 阅读全文
posted @ 2013-11-21 22:37
七年之后
阅读(549)
评论(0)
推荐(0)
摘要:
描述二叉树是非常重要的树形数据结构,根据该树的先序、中序或后序遍历序列可以建立一棵二叉树。例如输入先序遍历序列A B # D # # C E # # F # #可以建立图1019-1所示的二叉树,这里用#代表空树或空子树(另一种说法:若无孩子结点,则用#代替),如图1019-2。图1019-1图1019-2请实现基于遍历的二叉树运算:求高度、计算结点数目输入二叉树的先序遍历序列,用#代表空树或空子树。输出共五行前三行依次输出先序、中序和后序遍历序列,第四行输出二叉树的高度,第五行依次输出二叉树总结点数目、叶子结点数目、度为1的结点数目。样例输入A B # D # # C E # # F # # 阅读全文
posted @ 2013-11-21 22:35
七年之后
阅读(834)
评论(0)
推荐(0)
摘要:
描述二叉树(binary tree)是非常重要的树形数据结构,它是结点的有限集合,该集合或者为空集,或者是由一个根和两个互不相交的、称为该根的左子树和右子树的二叉树组成。一般意义上,遍历(traverse)一棵二叉树意味着对该二叉树中的每个结点访问且仅访问一次。(1)若二叉树不为空,先序遍历是指先访问该树根结点,再访问先序遍历左子树,最后先序遍历右子树。(2)若二叉树不为空,中序遍历是指先中序遍历左子树,再访问该树根结点,最后中序遍历右子树。(3)若二叉树不为空,后序遍历是指先后序遍历左子树,再后序遍历右子树,最后访问该树根结点。图1018-1给出一棵二叉树,先序遍历序列为A B D C E 阅读全文
posted @ 2013-11-21 22:31
七年之后
阅读(391)
评论(0)
推荐(0)
摘要:
描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。 同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:有一个数字串:312, 当N=3,K=1时会有以下两种分法:1) 3*12=362) 31*2=62这时,符合题目要求的结果是:31*2=62现在,请你帮助你的 阅读全文
posted @ 2013-11-21 22:30
七年之后
阅读(333)
评论(0)
推荐(0)
摘要:
#includeusing namespace std;#define max 200int main(){ int a[max]={0},n,e,j,k,q,set=0; char c[20]; while(cin>>c>>n) { int len=strlen(c),base=0,i,record=0; for(i=0;i=0;i--) if(a[i]!=0) break; if(record>i) { cout... 阅读全文
posted @ 2013-11-21 22:29
七年之后
阅读(315)
评论(0)
推荐(0)
摘要:
描述求两个正整数的最大公约数和最小公倍数输入两个正整数A,B输出两个正整数的最大公约数、最小公倍数样例输入4 3样例输出1 12#include using namespace std;void swap(int &x,int &y){ int temp=x; x=y; y=temp;}int gcd(int m,int n){ if(m==0) return n; if(m>n) swap(m,n); return gcd(n%m,m);}int main(){ int m,n,a,b; cin>>m>>n; a=gcd(m,n); ... 阅读全文
posted @ 2013-11-21 22:25
七年之后
阅读(373)
评论(0)
推荐(0)
摘要:
描述在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。输入第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。第二行是要插入的数。第三行是要删除的数。输出第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。第二行输出插入后自小到大排好序的数,以“,”隔开。第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。样例输入100 98 79 63 44 99 -1 88 79样例输出44,63,79,98,99,100 44,63,79,88,98,99,1 阅读全文
posted @ 2013-11-21 22:24
七年之后
阅读(421)
评论(0)
推荐(0)
摘要:
描述给定三条边的长度,判断能否组成三角形,如果可以,判断三角形的形状。 输入一组数据,每行三个实数,在(0,10]之间,精确到小数点后第四位。最后以0 0 0表示结束。输出根据每行的数据判断,如果不能组成三角形,则输出“Not a triangle”;如果是“等腰三角形”,则输出“Isosceles triangle”;如果是“直角三角形”,则输出“Right triangle”;如果是“等腰直角三角形”,则输出“Isosceles right triangle”;如果是“等边三角形”,则输出“Equilateral triangle”;否则,输出“General triangle”。最后输出 阅读全文
posted @ 2013-11-21 22:23
七年之后
阅读(555)
评论(0)
推荐(0)
摘要:
描述将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。输入多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。输出多行。每行给出转换后的R进制数。样例输入3 7 2 23 12 -4 3样例输出111 1B -11#include #include #define N 17using namespace std;int main(){ int m,n,r; int a[N]={0}; scanf("%d",&m); for(int j=0;j=0;i--) ... 阅读全文
posted @ 2013-11-21 22:22
七年之后
阅读(358)
评论(0)
推荐(0)
摘要:
描述求两个非负整数(1000位以内)的和。输入两个非负整数(1000位以内),以空格分隔。输出两个非负整数的和。样例输入111111111111 222222222222样例输出333333333333#include #include using namespace std;#define N 1001int main(){ char a[N],b[N]; int sum[N]; for (int j=0;j>a; m1=strlen(a); cin>>b; m2=strlen(b); m3=m1m2?m1:m2; for (int i=0;i... 阅读全文
posted @ 2013-11-21 22:20
七年之后
阅读(330)
评论(0)
推荐(0)
摘要:
描述要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(nusing namespace std;int number[500];int main(){ int n,sum=0,i; number[0]=1; for(i=1;i>n; for(i=0;i<=n/2;i++) sum+=number[i/2]; cout<<sum; return 0;} 阅读全文
posted @ 2013-11-21 22:17
七年之后
阅读(380)
评论(0)
推荐(0)
摘要:
描述编程精确计算2的N次方。(N是介于100和1000之间的整数)。输入正整数N (100≤N≤1000)输出2的N次方样例输入200样例输出1606938044258990275541962092341162602522202993782792835301376#includeusing namespace std;int main(){ int a[350]={0}; int n; cin>>n; int i,j,f=1; a[0]=1; for(i=0;i9) { a[j]%=10; ... 阅读全文
posted @ 2013-11-21 22:16
七年之后
阅读(564)
评论(0)
推荐(0)
摘要:
描述在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。给定公元2000年1月1日后的某年某月某日(包括2000年1月1日),你的任务:(1)给出这一天从公元2000年1月1日开始逝去的天数,(2)判断这一天是当年的第几天。输入输入包含若干行,每行包含三个空格间隔的正整数,它们分别表示年、月、日。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。输出多组,每组两行,分别为每行输入所代表的一天从公元200 阅读全文
posted @ 2013-11-21 22:15
七年之后
阅读(628)
评论(0)
推荐(0)
摘要:
描述a3 = b3 + c3 + d3为完美立方等式。例如123 = 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1using namespace std;int main(){ int n,a,b,c,d; int a1,b1,c1,d1; cin>>n; for(a=2;a<=n;a++) { a1=a*a*a; for(b=2;b<n;b++) { b1=b*b*b; ... 阅读全文
posted @ 2013-11-21 22:13
七年之后
阅读(345)
评论(0)
推荐(0)
摘要:
描述线性表是n个元素的有序集合(n³0),n是线性表中元素的个数,称为线性表的长度。可以用一组地址连续的存储单元依次存储线性表中元素,采用这种存储方式的线性表称为顺序表。请在顺序表上实现运算,实现顺序表的逆置,删除表中所有元素值等于x的元素。输入三组数据,顺序表元素类型分别为整型、字符型和实型。每一组第一行给出元素数目n(0using namespace std;const int N=1001;int main(int argc, char *argv[]){ int a[N],a1; char b[N],b1; float c[N],c1; int n1,n2,n3... 阅读全文
posted @ 2013-11-21 22:11
七年之后
阅读(354)
评论(0)
推荐(0)
摘要:
描述在数学上,斐波那契数列(Fibonacci Sequence),是以递归的方法来定义:F0 = 0 F1 = 1 Fn = Fn - 1 + Fn - 2 用文字来说,就是斐波那契数列由0和1开始,之后的斐波那契数就由之前的两数相加。首几个斐波那契数是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………特别指出:0不是第一项,而是第零项。在西方,最先研究这个数列的人是比萨的列奥纳多(又名斐波那契),他描述兔子生长的数目时用上了这数列。n 阅读全文
posted @ 2013-11-21 22:08
七年之后
阅读(304)
评论(0)
推荐(0)
摘要:
描述给定N个整数(1const int N = 101;int main(){ int a[N]; int n,i,max,min; while(scanf("%d",&n)==1) { max = -1,min = 101; for(i=1;imax) max = a[i]; if(a[i]<min) min = a[i]; } printf("%d %d\n",max,min); } return 0;} 阅读全文
posted @ 2013-11-21 22:07
七年之后
阅读(226)
评论(0)
推荐(0)
摘要:
描述给定两个整数,求它们之和。 输入两个整数A,B.输出两个整数的和。样例输入1 2样例输出3#include int main() { int a,b; scanf("%d %d",&a, &b); printf("%d\n",a+b); return 0; } 阅读全文
posted @ 2013-11-21 22:05
七年之后
阅读(307)
评论(0)
推荐(0)
摘要:
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.click to show follow up.Follow up:Did you use extra space? A straight forward solution using O(mn) space is probably a bad idea. A simple improvement uses O(m + n) space, but still not the best solution. Cou 阅读全文
posted @ 2013-11-21 21:47
七年之后
阅读(186)
评论(0)
推荐(0)
摘要:
Follow up for "Remove Duplicates": What if duplicates are allowed at most twice?For example, Given sorted array A = [1,1,1,2,2,3],Your function should return length = 5, and A is now [1,1,2,2,3].思考:双指针,A[i]与A[cur]前两个值比较。class Solution {public: int removeDuplicates(int A[], int n) { // IMPO 阅读全文
posted @ 2013-11-21 15:53
七年之后
阅读(174)
评论(0)
推荐(0)
摘要:
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists./** * Def... 阅读全文
posted @ 2013-11-21 13:52
七年之后
阅读(149)
评论(0)
推荐(0)
摘要:
You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?思考:DP,斐波拉契。class Solution {public: int climbStairs(int n) { // IMPORTANT: Please reset any member data you declared, as ... 阅读全文
posted @ 2013-11-21 10:19
七年之后
阅读(208)
评论(0)
推荐(0)
摘要:
Given a collection of intervals, merge all overlapping intervals.For example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18].思考:先排序。比较相邻两个interval,left为前一个start,若后一个start小于等于前一个,说明这两个interval需要合并,right为两个end较大者。若后一个start大于前一个end,说明这两个interval不需要合并,输出前一个。/** * Definition for an interva 阅读全文
posted @ 2013-11-21 00:08
七年之后
阅读(178)
评论(0)
推荐(0)

浙公网安备 33010602011771号