随笔分类 -  PAT

摘要:#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; // 判断是否同一棵二叉搜索树 /* 求解思路: 1. 搜索树表示 2. 建搜索树T 3. 判别一序列是否与搜索树一致 */ // 搜索树表示 typedef struct TreeNode *Tree; struct TreeNode { i 阅读全文
posted @ 2019-09-16 21:20 青衫客36 阅读(177) 评论(0) 推荐(0) 编辑
摘要:#include <cstdio> #include <cstdlib> // 多项式相乘 相加 // 数据结构设计 typedef struct PolyNode *Polynomial; struct PolyNode { int coef; int expon; Polynomial link; }; Polynomial ReadPoly(); void Attach(int c, int 阅读全文
posted @ 2019-09-02 19:07 青衫客36 阅读(1756) 评论(0) 推荐(1) 编辑
摘要:主要还是等差公式: 等差数列前n项和: (1) Sn = n*(a1 + an) / 2 (2) 最开始尝试用递归求解, 但是递归爆栈了, 又改用循环. 阅读全文
posted @ 2019-07-31 18:21 青衫客36 阅读(148) 评论(0) 推荐(0) 编辑
摘要:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 1 个字符的串。可用的字符包括字母 [a 阅读全文
posted @ 2019-05-18 11:49 青衫客36 阅读(95) 评论(0) 推荐(0) 编辑
摘要:为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分 阅读全文
posted @ 2019-05-18 10:28 青衫客36 阅读(155) 评论(0) 推荐(0) 编辑
摘要:一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: 现在给定一些身 阅读全文
posted @ 2019-05-18 10:06 青衫客36 阅读(161) 评论(0) 推荐(0) 编辑
摘要:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、 阅读全文
posted @ 2019-05-17 11:22 青衫客36 阅读(241) 评论(0) 推荐(1) 编辑
摘要:给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。 输入格式: 输入第一行给出两个正整数 N 和 p,其中 N(≤)是输入的正整数的个数,p(≤)是给定的参数 阅读全文
posted @ 2019-05-17 11:14 青衫客36 阅读(301) 评论(0) 推荐(0) 编辑
摘要:某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式 阅读全文
posted @ 2019-05-17 08:24 青衫客36 阅读(99) 评论(0) 推荐(0) 编辑
摘要:本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能 阅读全文
posted @ 2019-05-16 20:21 青衫客36 阅读(95) 评论(0) 推荐(0) 编辑
摘要:要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是 阅读全文
posted @ 2019-05-16 11:45 青衫客36 阅读(98) 评论(0) 推荐(0) 编辑
摘要:给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。 输入格式: 每个输入包含 1 个测试用例 阅读全文
posted @ 2019-05-16 11:09 青衫客36 阅读(152) 评论(0) 推荐(0) 编辑
摘要:科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示 阅读全文
posted @ 2019-05-14 20:39 青衫客36 阅读(394) 评论(0) 推荐(1) 编辑
摘要:给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 输入在一行中给出 阅读全文
posted @ 2019-05-14 18:35 青衫客36 阅读(176) 评论(0) 推荐(0) 编辑
摘要:输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。 输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式: 输出 A+B 的 D 进制数。 输入样例: 输出样例: 阅读全文
posted @ 2019-05-13 21:06 青衫客36 阅读(145) 评论(0) 推荐(0) 编辑
摘要:给定一个 k 位整数 1 (0, ,, d​k−1​​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 0,则有 2 个 0,3 个 1,和 1 个 3。 输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 输出格式: 对 N 中每一种不同的个位数字,以 阅读全文
posted @ 2019-05-13 20:47 青衫客36 阅读(436) 评论(0) 推荐(0) 编辑
摘要:月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 阅读全文
posted @ 2019-05-13 16:18 青衫客36 阅读(153) 评论(0) 推荐(0) 编辑
摘要:给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。 例如,我们从6767开始,将得到 阅读全文
posted @ 2019-05-13 14:26 青衫客36 阅读(232) 评论(0) 推荐(0) 编辑
摘要:大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第 1 行给出正整数 N(≤),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 阅读全文
posted @ 2019-05-13 09:43 青衫客36 阅读(136) 评论(0) 推荐(0) 编辑
摘要:本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 输出样例 阅读全文
posted @ 2019-05-12 19:17 青衫客36 阅读(377) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示