02 2017 档案
摘要:题目描述 给一棵二叉树的层序遍历序列和中序遍历序列,求这棵二叉树的先序遍历序列和后序遍历序列。 给一棵二叉树的层序遍历序列和中序遍历序列,求这棵二叉树的先序遍历序列和后序遍历序列。 输入 每个输入文件中一组数据。 第一行一个正整数N(1<=N<=30),代表二叉树的结点个数(结点编号为1~N)。接下
阅读全文
摘要:1087. All Roads Lead to Rome (30) Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the rout
阅读全文
摘要:1107. Social Clusters (30) When register on a social network, you are always asked to specify your hobbies in order to find some potential friends wit
阅读全文
摘要:1106. Lowest Price in Supply Chain (25) A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in mo
阅读全文
摘要:1090. Highest Price in Supply Chain (25) A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in m
阅读全文
摘要:1118. Birds in Forest (25) Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same picture belon
阅读全文
摘要:1110. Complete Binary Tree (25) Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each input file contains
阅读全文
摘要:1115. Counting Nodes in a BST (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 6553
阅读全文
摘要:题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。 省政府“畅通工程”的目标是使全
阅读全文
摘要:题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 省政府“畅通工程”的目标是使全省任何两个村庄间都可以
阅读全文
摘要:题目描述 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 某省调查乡村交通状况,得到的统计表中列出了任意两村
阅读全文
摘要:1030. Travel Plan (30) A traveler's map gives the distances between cities along the highways, together with the cost of each highway. Now you are sup
阅读全文
摘要:As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some ro
阅读全文
摘要:题目描述 Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course t
阅读全文
摘要:题目描述 Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You hav
阅读全文
摘要:题目描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条
阅读全文
摘要:题目描述 某市计划建设一个通信系统。按照规划,这个系统包含若干端点,这些端点由通信线缆链接。消息可以在任何一个端点产生,并且只能通过线缆传送。每个端点接收消息后会将消息传送到与其相连的端点,除了那个消息发送过来的端点。如果某个端点是产生消息的端点,那么消息将被传送到与其相连的每一个端点。为了提高传送
阅读全文
摘要:题目描述 判断两序列是否为同一二叉搜索树序列 判断两序列是否为同一二叉搜索树序列 输入 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n
阅读全文
摘要:题目描述 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。 输入 输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。 输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。 输出 可
阅读全文
摘要:1020. Tree Traversals (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 65536 kB 代码长
阅读全文
摘要:题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如下的先序遍历字符串:ABC##DE#G##F###其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 编一个程序,读入用户输入的一串先序遍历字
阅读全文
摘要:题目描述 小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。 输入 输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写字母组成。 输出 对于每组输入,输出对应的二叉树的后续遍历结果
阅读全文
摘要:题目描述:排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r < = n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。 要求根据输入的n和r,输出所有的组合数。
阅读全文
摘要:题目描述:有一个n*m格的迷宫(表示有n行、m列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这n*m个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右
阅读全文
摘要:题目描述: 排列与组合是常用的数学方法。先给一个正整数 ( 1 < = n < = 10 ) 例如n=3,所有组合,并且按字典序输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 分析:今天看书看到了递归入门,做到了这一道题目,记录一下。在C++的库函数中,提供了函数ne
阅读全文
摘要:分析:题目是两个多项式相加。有坑点在第一次提交的时候没注意,只拿到了17分。由于采用了指数和系数的表示形式,那么当两个多项式相加的时候,就有可能某一项的系数为0,那么这一项就不用输出了。在做题目的时候想得还是不够全面。
阅读全文
摘要:分析:首先将和按3位分开,自然想到了对1000取余的办法。于是按照二进制的除二取余的思路将和分开。需要注意的是,对1000取余后得到的结果可能不是三位数,而是两位或者一位,这个时候就需要在输出的时候在前面补零凑够三位。这里用到了栈。
阅读全文
摘要:1064. 朋友数(20) 如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如123和51就是朋友数,因为1+2+3 = 5+1 = 6,而6就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。注意:我们默认一个整数自己是自己的朋友。 输入格式: 输入第一行给出正整数N。随后一行给出N个正整数,数字间以空格分隔。题目...
阅读全文
摘要:1065. 单身狗(25) “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。 输入格式: 输入第一行给出一个正整数N( #include #include #include #include using namespace std; int table[100000]; int flag[100000]; int main(...
阅读全文
摘要:1063. 计算谱半径(20) 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的n个复数空间的特征值{a1+b1i, ..., an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数N( #include #include using n...
阅读全文
摘要:分析:由于分母k已知,所以,只要从1~k-1进行遍历,判断每个分数是否在指定区间内,再判断他们的最大公约数是否不等于1(以此判断是否是最简分数)即可。还有一个需要注意的是,输入中的两个分数并没有说第一个一定小于第二个,这个需要注意。第一次提交的时候没想到这一点有一个测试点没通过- -。
阅读全文
摘要:1061. 判断题(15) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式: 输入在第一行给出两个不超过100的正整数N和M,分别是学生人数和判断题数量。第二行给出M个不超过5的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0代表“非”,1代表“是”。随后N行,每行给出一个学生的解答。数字间均以空格分隔。 输出格式: 按照输入...
阅读全文
摘要:1060. 爱丁顿数(25) 英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。 现给定某人N天的骑车距离,请你算出对应的爱丁顿数E( #include #include using namespace std; bool cmp(int a,int b) { return a...
阅读全文
摘要:1059. C语言竞赛(20) C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。 1. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶! 2. 其他人将得到巧克力。 给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。 输入格式: ...
阅读全文
摘要:1058. 选择题(20) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。 输入格式: 输入在第一行给出两个正整数N( #include #include #include using namespace std; struct stu { int max_score; int choice_num; int c...
阅读全文
摘要:1057. 数零壹(20) 给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0、多少1。例如给定字符串“PAT (Basic)”,其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个0、4个1。 输入格式: 输入在一行中给出长...
阅读全文
摘要:1056. 组合数的和(15) 给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。 输入格式: 输入在一行中先给出N(1 using namespace std; int a[10]; int main(void) { int n; ...
阅读全文
摘要:1055. 集体照 (25) 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、...
阅读全文
摘要:1053. 住房空置率 (20) 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”; 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。 现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房...
阅读全文
摘要:1052. 卖个萌 (20) 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出表情。 输入格式: 输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过10个符号;每个...
阅读全文
摘要:1051. 复数乘法 (15) 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P))。 现给定两个复数的R和P,要求输出两数乘积的常规形式。 输入格式: 输入在一行中依次给出两个复数的R1, P1, ...
阅读全文
摘要:分析:首先需要找到最小的m,n。方法是n从1~sqrt(N)尝试取值,如果N能被n整出,则可得m=N/n;再比较m-n与当前最小差值,若更小,则更新m,n和m-n的值。第二个输入数据无序,需要对数据进行排序。最后构造螺旋矩阵,方法是始终朝着一个方向往矩阵中填数,当碰到边界时换方向继续填数,这里的边界
阅读全文
摘要:1048. 数字加密(20) 本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。 输入格式: 输入在一行中依次给出A和B,均为不超过100位的正整数,其间...
阅读全文
摘要:1049. 数列的片段和(20) 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个片段。 ...
阅读全文
摘要:1046. 划拳(15) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。 输入格式: 输入第一行先给出一个正整数N( using nam...
阅读全文
摘要:1047. 编程团体赛(20) 编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。 现给定所有队员的比赛成绩,请你编写程序找出冠军队。 输入格式: 输入第一行给出一个正整数N( #include #include #include using namespace std; int team[1001]; int ma...
阅读全文
摘要:1044. 火星数字(20) 火星人是以13进制计数的: 地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer...
阅读全文
摘要:1045. 快速排序(25) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、2、4、5。则: 1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元素...
阅读全文
摘要:1043. 输出PATest(20) 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字...
阅读全文
摘要:1042. 字符统计(20) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。 输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写...
阅读全文
摘要:1041. 考试座位号(15) 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数N( usi...
阅读全文
摘要:1040. 有几个PAT(25) 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符串中包含多少个PAT。由...
阅读全文
摘要:1039. 到底买不买(20) 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。 为方便起见,我们用[0-9]、
阅读全文
摘要:1038. 统计同成绩学生(20) 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行...
阅读全文
摘要:1037. 在霍格沃茨找零钱(20) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。 输入格式: 输入在1行中分别给出P和A,格式为“Galleon.Sickle...
阅读全文
摘要:1036. 跟奥巴马一起编程(15) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 输入格式: 输入在一行中给出正方形边长N(3 using namespace std; int main() { ...
阅读全文
摘要:1033. 旧键盘打字(20) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”...
阅读全文
摘要:1032. 挖掘机技术哪家强(20) 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。 输出格式: 在一行中给出总得分最高的学校的...
阅读全文
摘要:1031. 查验身份证(15) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 ...
阅读全文
摘要:分析:用双指。i指向当前最小元素,j指向当i为最小元素是满足规则的最大元素的下一个元素。计算出当前完美数列的元素个数,并与最大的元素个数进行比较更新。
阅读全文
摘要:分析:题目很简单,对于第一个字符串中的每一个字符,在第二个字符串中如果可以找到,则说明这个按键是好的。但是如果每次都从头到尾在第二个字符串中进行遍历查找,这样做比较复杂(虽然这里限制了80个字符,即使两个字符串都达到最大长度计算量也不算太大)。因为两个字符串仅包含ASCII字符,因此我们可以设置一个
阅读全文
摘要:1028. 人口普查(20) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数N,取值在(0, 105];随后N行,每行给出1个人的...
阅读全文
摘要:1027. 打印沙漏(20) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能...
阅读全文
摘要:分析:此处用了C的printf函数来输出,C的格式化输出用起来还是比C++的方便的,而且printf的输出效率比cout要高效。
阅读全文
摘要:1024. 科学计数法 (20) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。 输入格式: 每个输入包含1...
阅读全文
摘要:1023. 组个最小数 (20) 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、...
阅读全文
摘要:1022. D进制的A+B (20) 输入两个非负10进制整数A和B( #include using namespace std; int main() { long a,b,r; cin>>a>>b>>r; long sum=0; sum=a+b; stack ans; if(sum==0) { cout0) ...
阅读全文
摘要:1021. 个位数统计 (15) 给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (00),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。 输入格式: 每个输入包含1个测试用例,即一个不超过1000位的正整数N。 输出格式: 对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D...
阅读全文
摘要:1020. 月饼 (25) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略...
阅读全文
摘要:1019. 数字黑洞 (20) 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得到 7766 - 6677 = 1089 9810 - 0189 = 9621 962...
阅读全文
摘要:1018. 锤子剪刀布 (20) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,
阅读全文
摘要:分析:模拟除法。由于数据较大,直接用内置类型来存储数据是不行的。可以模拟除法将结果计算出来。当然,也可以用java的大数BigInteger来做,但是效率较低会超时。
阅读全文
摘要:1016. 部分A+B (15) 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。 现给定A、DA、B、DB,请编写程序计算PA + PB。 输入格式: 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 using namespace std; int...
阅读全文
摘要:分析:题目还是较为简单的。用algorithm中的vector来存储数据,再调用sort函数来进行排序就可以了。由于是对结构体进行排序,因此需要自己编写比较函数,而比较函数的编写按照题目中给出的规则即可。这里的数据量达到了10的5次方,因此最好用c的输入输出函数来进行数据的输入输出。我第一次用c++
阅读全文
摘要:1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那...
阅读全文
摘要:1013. 数素数 (20) 令Pi表示第i个素数。现任给两个正整数M #include using namespace std; #define MAX_NUM 400000 #define PRIME_NUM 10010 int main(void) { int tmp[MAX_NUM]; memset(tmp,0,sizeof(tmp)); int prime...
阅读全文
摘要:1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小数点后1位; A5 = 被5除后余4的数字中最大数字。 输入格式: 每个输入...
阅读全文
摘要:1011. A+B和C (15) 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。 输入格式: 输入第1行给出正整数T(C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。 输入样例: 4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647 输出样例: Ca...
阅读全文
摘要:1010. 一元多项式求导 (25) 设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。 输入...
阅读全文
摘要:1009. 说反话 (20) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。 输出格式:每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello Wo...
阅读全文
摘要:分析:题目很简单,主要是先把一定范围内的素数都求出来,然后用素数对的定义来统计一下所求范围内的素数对的数量就可以了。这里用了素数筛的算法来求素数。
阅读全文
摘要:分析: (1)考研408曾经出过这道题目。其做法是先将前0~n-m-1翻转,再将n-m~n-1翻转,最后再整体进行数组的翻转,就能在不增加空间的情况下实现题目中的结果。还需要注意的是m可能会比n大,这时,为了减少不必要的移动,将m对n取余,因为对一个数组进行循环移动m和m+n的结果是一样的。代码如下
阅读全文
摘要:1006. 换个格式输出整数 (15) 让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n( using namespace std; int main(void) { int input; cin>>input; if(input>0&&input=10&&input<100) { int i=input/10;...
阅读全文
摘要:分析:首先开一个足够大的标记数组flag[1000],flag[index]=1表示index这个数被某个数覆盖了。这样,每输入一个数,就将这个数执行一个卡拉兹猜想,并将过程中产生的数进行标记。然后将输入数据进行排序,从大到小对每个数进行检查,哪个数没有被标记的就是关键数了。
阅读全文
摘要:1004. 成绩排名 (20) 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到...
阅读全文
摘要:1003. 我要通过!(20) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案正确”的条件是: 1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是...
阅读全文
摘要:1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi s...
阅读全文
摘要:1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至...
阅读全文

浙公网安备 33010602011771号