PAT
OUC_lkc
如果跑不起来,那就一步一步的走,你会离梦想越来越近
展开
-
Excel列名和列序号转换(26进制与10进制的转换)
大家有没有留意过Excel表格中列名的规律呢?是这样的:A B C ... Y Z AA AB AC ... AY AZ BA BB BC ... BY BZ ... ZZ ... AAA ...如果没看懂,请打开Excel程序仔细观察一下~~每一列都是有序号的,从1开始编号,即:列A B C ... Y Z AA AB ... 的编号依次是 1 2 3 ... 25 26 27 28...原创 2019-04-03 17:10:40 · 3267 阅读 · 0 评论 -
7-35 词频统计 (30 分)(字符处理)
7-35 词频统计 (30 分)请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符。而合法的“单词字符”为大小写字母、数字和下划线,其它字符均认为是单词分隔符。输入格式:输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词...原创 2018-12-11 18:43:46 · 1033 阅读 · 0 评论 -
Ignatius and the Princess IV
题意:找出长度为奇数的序列中,出现次数>=(N+1)/2的数 "OK, you are not too bad, em... But you can never pass the next test." feng5166 says. "I will tell you an odd number N, and then N integers. There will be a specia...原创 2018-12-10 21:31:42 · 87 阅读 · 0 评论 -
煤球数目(认真读读题,看求得啥)
171700有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。代码: #include<iostream>using namesp...原创 2019-02-15 17:48:00 · 169 阅读 · 0 评论 -
立方尾不变(ll与int)
有些数字的立方的末尾正好是该数字本身。比如:1,4,5,6,9,24,25,....请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。 思路:本来是很简单的一道暴力题,正确答案使36,我却做出来21,又写了一遍代码,找到出错的地方了,4位数的立方超int了,用ll代码: #include<iostream>...原创 2019-02-12 09:17:39 · 710 阅读 · 1 评论 -
7-25 搜索树判断 (25 分)(二叉搜索树+镜像二叉搜索树+遍历)
7-25 搜索树判断 (25 分)对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。输入格式:输入的第一行包含一个正整...原创 2018-12-17 22:15:27 · 2774 阅读 · 0 评论 -
7-11 整型关键字的散列映射
7-11 整型关键字的散列映射 (25 分)给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。输入格式:输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。输出格式:在一行内输出每个整型关键字在散列表中的位置。数字...原创 2018-12-11 19:40:04 · 357 阅读 · 0 评论 -
寻找树的根节点
//找根节点 //方法一:因为根节点不是任何节点的左右孩子,所以只要对输入的左右孩子进行标记,没被标记的就是根节点 #include<iostream>using namespace std;struct tree{ int left,right;}t[105]; bool vis[105];int main(){ int n; cin>>n; f...原创 2018-12-03 16:47:12 · 4855 阅读 · 1 评论 -
7-8 笛卡尔树 (25 分)(判断二叉搜索树+最小堆)
7-8 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。输入格式:输入首先给出正整数N(≤1000),为树中...原创 2018-12-03 09:44:20 · 525 阅读 · 1 评论 -
7-27 关于堆的判断 (25 分)(建最小堆+判断)
7-27 关于堆的判断 (25 分)将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点; x and y are siblings:x和y是兄弟结点; x is the parent of y:x是y的父结点; x is a child of y:x是y的一个子结点。输入格式:每组测试...原创 2018-12-02 20:55:36 · 490 阅读 · 0 评论 -
7-24 玩转二叉树 (25 分)(根据先序和中序建树+bfs->层序输出)
7-24 玩转二叉树 (25 分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的...原创 2018-12-02 20:52:22 · 1891 阅读 · 1 评论 -
7-30 修理牧场 (25 分)(哈夫曼树)
7-30 修理牧场 (25 分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头...原创 2018-11-29 17:17:25 · 518 阅读 · 0 评论 -
Windows消息队列 (优先队列)
7-26 Windows消息队列 (25 分)消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出...原创 2018-11-27 21:13:39 · 618 阅读 · 1 评论 -
小字辈 (临结表存储关系+广搜思想)
7-6 小字辈 (25 分)本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出...原创 2018-11-26 19:58:06 · 149 阅读 · 0 评论 -
7-7列出叶结点
7-7列出叶结点 (25 分)对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶节点。输入格式:首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 "-"。编号间以 1 个空格分隔。输出格式:在一行中按规定顺序输出叶节点的编号。...原创 2018-11-26 18:46:58 · 6617 阅读 · 1 评论 -
判断是否是二叉搜索树
6-21 是否二叉搜索树 (25 分)本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; ...原创 2018-11-17 23:17:52 · 2795 阅读 · 0 评论 -
7-33 电话聊天狂人 (25 分)(map)
7-33 电话聊天狂人 (25 分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号...原创 2018-12-11 19:34:02 · 191 阅读 · 0 评论 -
7-10 QQ帐户的申请与登陆 (25 分)
7-10 QQ帐户的申请与登陆 (25 分)实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示...原创 2018-12-11 19:35:57 · 393 阅读 · 1 评论 -
7-38 图着色问题 (25 分)(set)
7-38 图着色问题 (25 分)图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无...原创 2018-12-20 22:22:02 · 281 阅读 · 0 评论 -
7-12 最长对称子串 (25 分)(思维)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11思路:...原创 2019-03-07 18:44:04 · 845 阅读 · 0 评论 -
根据先序和中序序列 输出树的高度
输入先序和中序序列:74 1 3 2 6 5 71 2 3 4 5 6 7输出高度:4 #include<iostream>using namespace std;struct node{ char data; node* lchild; node* rchild;};int pre[55],in[55];node* buil...原创 2019-03-07 17:14:31 · 227 阅读 · 0 评论 -
根据先序和中序遍历 输出后序
输入先序和中序序列:74 1 3 2 6 5 71 2 3 4 5 6 7输出后序序列:2 3 1 5 7 6 4代码:#include<iostream>using namespace std;struct node{ char data; node* lchild; node* rchild;};int pre[55],...原创 2019-03-07 17:07:13 · 481 阅读 · 0 评论 -
根据后序和中序遍历 输出先序
给定一棵二叉树的后序遍历和中序遍历,请你输出其先序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 ...原创 2019-03-07 16:26:43 · 140 阅读 · 0 评论 -
根据后序和中序遍历 输出层序
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 ...原创 2019-03-07 16:18:08 · 1607 阅读 · 0 评论 -
7-9 集合相似度 (25 分)(set)
给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤104),是集合中元素的个数;然后跟M个[0,109...原创 2019-03-07 15:23:10 · 720 阅读 · 0 评论 -
7-1 N个数求和 (20 分)(gcd lcm)
本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其...原创 2019-03-07 15:00:47 · 2276 阅读 · 0 评论 -
安迪的第一个字典(UVa 10815)(map+stringstrem)
输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,单词不区分大小写总结:map:自动从小到大排序stringstrem:得到各个字母代码:#include<iostream>#include<sstream>#include<algorithm>#include<string>#include&l...原创 2019-03-17 17:08:18 · 255 阅读 · 0 评论 -
Virtual Friends (并查集+map)
These days, you can do all sorts of things online. For example, you can use various websites to make virtual friends. For some people, growing their social network (their friends, their friends' frien...原创 2019-03-04 22:05:19 · 113 阅读 · 0 评论 -
jzoj 3789( 栈+前缀和)
Sample Input8 I 2 I -1 I 1 Q 3 L D R Q 2Sample Output2 3题意: 正在设计一种新型的编辑器,这种编辑器可以高效地处理整数序列。 编辑器启动时,序列为空,光标指向序列的头部。编辑器支持下列 5 种操作: 1. I x 把整数 x 插入到光标位置; 2. D 删除光标之前的整数(保证光标不在序...原创 2019-02-21 10:45:40 · 187 阅读 · 0 评论 -
凑算式
B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提...原创 2019-02-16 10:27:24 · 152 阅读 · 0 评论 -
三羊献瑞
三羊献瑞观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 9456 107210528 ...原创 2019-02-08 21:39:24 · 120 阅读 · 0 评论 -
士兵队列训练问题 (队列)
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。 Input本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵...原创 2019-02-07 20:59:30 · 356 阅读 · 0 评论 -
Parentheses Balance (栈)
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %lluDescription(a)You are given a string consisting of parentheses () and []. A string of this type is said to becorrect:if it...原创 2019-02-07 09:12:08 · 283 阅读 · 0 评论 -
猜字母
把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。好好反省: 思路很简单,我草—...原创 2019-02-01 09:08:00 · 795 阅读 · 0 评论 -
求二叉树的高度
此题为求二叉树的高度 #include <stdio.h>#include <stdlib.h>typedef struct TNode* BinTree;struct TNode{ char Data; BinTree Left; BinTree Right;};BinTree CreatBinTree(){ char...原创 2018-11-17 16:43:45 · 105 阅读 · 0 评论 -
基于栈的中缀算式表达式求值(双栈实现)
问题描述:输入一个中缀表达式,求解表达式的值。参加运算的数为double类型且为正数。输入:对于一个算术表达式,每一个表达式均以“=”结尾。当表达式只有一个“=”时,输入结束。当表达式只有一个“=”时,输入结束。参加运算的数位double类型。输出要求:对于每组数据输出一行,为表达式运算结果。输出保留两位小数。输入样例2+2=20*(4.5-3)==输出样例:4.0...原创 2019-05-17 23:07:40 · 4537 阅读 · 2 评论 -
PTA乙级-1048 数字加密(字符串)
本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为不超过 10...原创 2019-02-18 13:50:55 · 568 阅读 · 0 评论 -
PTA乙级-1018 锤子剪刀布(模拟)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数 N(≤105),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 ...原创 2019-02-12 16:27:03 · 280 阅读 · 0 评论 -
PTA乙级-1015 德才论(排序)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低...原创 2019-02-12 15:43:00 · 257 阅读 · 0 评论 -
PTA乙级-1046 划拳
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录...原创 2019-02-18 11:42:52 · 98 阅读 · 0 评论