PATA
YYyyCCCcccBb
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
DFS-PATA-1004. Counting Leaves (30)
题意:给出N,M: 节点总个数,非叶节点个数M行:根节点 根节点后的个数 节点编号思路:思路一:可以建树查询思路二:用数组记录每个编号节点后有几个根节点,如果为空则层数+1;#include #include #include #include #include #include using namespace std;vector ad原创 2016-08-28 22:30:14 · 567 阅读 · 0 评论 -
1099. Build A Binary Search Tree (30)
思路: 依据给定的树结构填入数据,因为BST树的中序必定是递增的,所以排序即可#include #include #include #include #include #include #include using namespace std;const int maxn=105;int cnt=0;struct node{ int left,righ原创 2017-03-03 21:28:30 · 311 阅读 · 0 评论 -
1119. Pre- and Post-order Traversals (30)
思路: 对于前序来说 根--左-- 右。 后序 左--右--根。 所以可以用后序分割前序,从而确立树。至于一直说只有拥有了中序才可以唯一确定树是因为 中序可以判断左右子树的关系。但是如果没有的话,如果只有左子树或者只有右子树是无法判断。因此用这个方法来确定是否唯一自己写的时候递归写乱了,参考的http://blog.csdn.net/liuchuo/article/details/52原创 2017-02-25 12:44:04 · 239 阅读 · 0 评论 -
1093. Count PAT's (25)
思路:从后向前,记录T的个数,当遇到A字母时候,可以组成t个 "at"记录为pid ,当遇到P字母时候,可以利用之前pid个"at"组成pid个"pat#include #include #include #include #include #include using namespace std;typedef long long ll;const int mo原创 2017-02-25 16:37:50 · 222 阅读 · 0 评论 -
1127. ZigZagging on a Tree (30)
思路:递归建树,层序存储,输出#include #include #include #include #include #include #include using namespace std;typedef struct tree* treebin;struct tree{ treebin left,right; int num,lv;};原创 2017-03-10 14:12:32 · 641 阅读 · 0 评论 -
1123. Is It a Complete AVL Tree (30)
1123. Is It a Complete AVL Tree (30)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueAn AVL tree is a self-balancing原创 2017-11-14 15:53:00 · 165 阅读 · 0 评论 -
L2-012. 关于堆的判断
L2-012. 关于堆的判断时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:“x is the root”:x是根结点;“x and y are siblings”:x和y是兄弟结点;“x is the parent of y”:x是y的父结点;“...原创 2018-03-16 17:01:49 · 124 阅读 · 0 评论 -
L3-003. 社交集群
L3-003. 社交集群时间限制1000 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友。有部分兴趣相同的人们就形成了“社交集群”。现请你编写程序,找出所有的集群。输入格式:输入的第一行给出正整数N(<=1000),即社交网络中的用户总数(则用户从1到N编号)。随后N行,每行...原创 2018-03-17 15:19:10 · 169 阅读 · 0 评论 -
L3-004. 肿瘤诊断
L3-004. 肿瘤诊断时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(<=60)是切...原创 2018-03-17 15:53:30 · 149 阅读 · 0 评论 -
L3-005. 垃圾箱分布
L3-005. 垃圾箱分布时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住。所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每个居民点都在距离它一个不太远的范围内。现给定一个居民区的地图,以及若干垃圾箱的候选地点,请你推荐最合适的地点。如果解不唯一,则输...原创 2018-03-17 18:11:41 · 223 阅读 · 0 评论 -
康复性训练开始。。
被导员抓回去了。。要结束实习了。。不过可以回去打场CCCC,后悔没报名蓝桥。。今天开始把以前的PAT刷一刷吧。突然觉得L3已经不难了。。原创 2018-03-14 10:04:31 · 298 阅读 · 0 评论 -
L3-010. 是否完全二叉搜索树
L3-010. 是否完全二叉搜索树时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的...原创 2018-03-14 10:05:55 · 130 阅读 · 0 评论 -
L3-002. 堆栈
L3-002. 堆栈时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有“入栈”(将新元素插入栈顶)和“出栈”(将栈顶元素的值返回并从堆栈中将其删除)。现请你实现一种特殊的堆栈,它多了一种操作叫“查中值”,即返回堆栈中所有元素的中值。对于N个元素,若N是偶数,则中值定义为第N/2个最小元;若N...原创 2018-03-14 14:05:02 · 133 阅读 · 0 评论 -
古风排版(20 分)
L1-1 古风排版(20 分)中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa T...原创 2018-03-29 11:11:12 · 1307 阅读 · 0 评论 -
L1-2 大笨钟(10 分)
L1-2 大笨钟(10 分)微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会...原创 2018-03-29 11:16:40 · 8254 阅读 · 0 评论 -
L1-3 宇宙无敌加法器(20 分)
L1-3 宇宙无敌加法器(20 分)地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 ...原创 2018-03-29 11:48:10 · 416 阅读 · 0 评论 -
PATA-1041-Be Unique (20)
题意:N个数字。找出第一个只出现一次的,没有出None#include #include #include using namespace std;int a[10005];int main(){ queueq; int n; cin>>n; for(int i=1;i<=n;i++) { int t;原创 2016-12-09 22:15:33 · 330 阅读 · 0 评论 -
PTAA-1043-Is It a Binary Search Tree (25)
题意:给出二叉搜索树的要求,询问按要求建树,正常建树和镜像建树是否其一满足条件,如果满足就输出后序遍历#include#include#include#include#include#includeusing namespace std;typedef long long LL;int ansl[1005];int ansr[1005];int poster[1005]原创 2016-12-09 21:08:32 · 238 阅读 · 0 评论 -
pat-a 1005. Spell It Right (20)
题意:输出各个位数的数字的总和#include #include #include using namespace std;char a[105];int b[105];char c[10][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};int main()原创 2016-08-28 23:01:03 · 383 阅读 · 0 评论 -
PAT-Sign In and Sign Out (25)
题意:输出最早进来的和最晚进来的人#include #include #include using namespace std;char a[20];char b[20];char c[20];int main(){ int maxh,maxf,maxm; int minh,minf,minm; int n; cin>原创 2016-08-29 10:38:10 · 432 阅读 · 0 评论 -
PATA-1007 Maximum Subsequence Sum (25)
题意:给定N,下一行N个数字,求最大子段和,并且求出第一个最大子段和的和 以及初始元素和末尾元素:注意:题简单,但是坑多。1.如果所有元素都小于0,那么输出0 , 第一个元素, 末尾元素2.如果有一个0,其余均为负数,那么输出0 , 0 , 0#include #include using namespace std;int a[10001];int main()原创 2016-08-30 19:25:55 · 335 阅读 · 0 评论 -
PATA-1008 Elevator (20)
题意:N个数字,依次指定电梯需要到几楼,输出时间#include using namespace std;int main(){ int n; cin>>n; int sum=0; int x=0; while(n--) { int t; cin>>t; if(t>x)原创 2016-08-30 19:41:55 · 248 阅读 · 0 评论 -
PATA-1009 Product of Polynomials (25)
题意:给出K个数字, 接下来是指数,系数的形式第二行相同求多项式#include #include using namespace std;double a[1010];double b[1010];double c[2010];int main(){ int k; cin>>k; int index; double num;原创 2016-09-01 18:35:45 · 372 阅读 · 0 评论 -
PATA-1013. Battle Over Cities (25)
题意:给出N个城镇m条道路,K个询问。查询:输出切断某个城镇后,最少多少条线路可以使其他城镇连同。思路:对于没访问过的城镇遍历,分出的区域数-1 即为需要的道路数#include #include #include using namespace std;int n,m,k;char mp[1005][1005];int visit[1005];voi原创 2016-09-14 20:54:13 · 401 阅读 · 0 评论 -
二分-PATA1010
题意: 给出n1 n2 两个数字 给出TAG表示下个数字标定的是第一个还是第二个,radix表示这个数字拿radix进制表示询问是否有一个数字可以使其另外一个数字用这个给定的进制表示 的值与标定的值相等看了看网上代码说什么也不明白为啥用二分, 用不是二分的代码有一个测试点超时非二分:#include #include #include #include #includ原创 2016-09-04 11:45:59 · 451 阅读 · 0 评论 -
PATA-1059 Prime Factors (25)
题意:把一个整数拆分成多个素数的乘积形式,注意如果为1 直接输出1= 1 测试点4的坑。先素数打标,然后逐次遍历#include #include using namespace std;int Prime[10000];int b[10000];int num[10000];int cot=2;void init(){ Prime[1]=2;原创 2016-09-16 12:15:08 · 361 阅读 · 0 评论 -
PATA-1011 World Cup Betting (20)
题意:有三组,每组三个输入,找出每组最大的成绩*0.65 - 1 再总体*2水到家了。#include #include using namespace std;double a[5][5];double maxi[5];int flag[5];int main(){ for(int i=1;i<=3;i++) { for(int j=原创 2016-09-04 19:43:08 · 301 阅读 · 0 评论 -
PATA-1012-The Best Rank (25)
题意:有N个学生M组查询N行: 学生编号, 三组成绩M行:查询编号M的学生,最好的成绩排第几注意四组不同的学科有先后关系思路:数据辣么小,暴力!#include #include #include using namespace std;const int maxn=1000000;int num[maxn];int c[maxn];int m[max原创 2016-09-04 21:06:36 · 301 阅读 · 0 评论 -
DFS-PATA-1003
题意:从X到Y找到最短路径并且输出可以集合的最大人数#include #include using namespace std;int mapp[505][505];int num[505];int visit[505];int maxi=0;int len=9999999;int n,m,st,ed;int sum=0;void dfs(int x,i原创 2016-08-25 21:15:40 · 626 阅读 · 0 评论 -
PATA-1014Waiting in Line (30)
题意:去银行办业务,有n个窗口,每个窗口前站m个人最多,有k个人来银行,q个询问第二行是每个人办业务时间,q询问第i个人结束是几点。如果17.00才开始或者17.00之后才开始都算办不上,如果17.00之前开始在17.00之后结束算成功办理业务思路:队列维护,17.00的坎恶心啊。测试点最后两个卡我半个多小时#include #include #include #incl原创 2016-11-17 13:09:10 · 357 阅读 · 0 评论 -
PATA-1015. Reversible Primes (20)
题意:输入x,y,如果x是素数,并且x转换为y进制,然后翻转得到的也是个素数,输出yes否则no思路:打表,乱搞。。#include #include #include #include using namespace std;int is[1000005];int vis[1000005];int Isprime(){ for(int i=2;i<=100原创 2016-11-17 13:31:40 · 352 阅读 · 0 评论 -
PATA-1016Phone Bills (25)
代码来自http://blog.csdn.net/cstopcoder/article/details/25559285?utm_source=tuicool&utm_medium=referral题意:对于给定的电话单子进行处理,注意:on必须后面有一个off匹配。而且如果这个单子不合理就不输出。PAT题里根本没叙述还有这测试点,坑死人。思路:自己想用map试一下,但是不太会it原创 2016-11-17 16:47:50 · 367 阅读 · 0 评论 -
PATA-1020. Tree Traversals (25)
题意:给中序,后序,输出层序遍历#include#include#include#include using namespace std;int Back[105];int In[105];typedef struct node *TreeBin;struct node{ TreeBin left,right; int data;};TreeBin原创 2016-12-09 19:18:40 · 295 阅读 · 0 评论 -
L2-1 功夫传人(25 分)
L2-1 功夫传人(25 分)一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没...原创 2018-03-29 16:04:11 · 1069 阅读 · 0 评论