PAT
二月山
这个作者很懒,什么都没留下…
展开
-
PAT(Advanced level) 1139 First Contact(30)
题目要求: A和B:A对B心动,可同性可异性;A和C:同性别、朋友关系;B和D:同性别、朋友关系;C和D:朋友,可同性可异性。 给出所有人的关系图(可用二维数组或vector存储,用vector比较省内存),给出A和B,找出所有符合要求的C和D。 所有找出的C(i)和D(i)的输出顺序:优先输出小的C,若C相等则优先输出小的D。 每个人由一个4位数字表示(唯一),前面有’-‘表示女性。 解题思...原创 2020-02-09 01:27:02 · 333 阅读 · 0 评论 -
PAT (Top Level) 1002 Business (35分)
1002 Business 动态规划。 #include <bits/stdc++.h> using namespace std; #define inf 1000000000 struct node{ int p,l,d; }; bool cmp(node a,node b) { if(a.d!=b.d) return a.d<b.d; if(a.l!=b.l) ...原创 2020-03-23 14:56:14 · 122 阅读 · 0 评论 -
PAT A1151 LCA in a Binary Tree (30分)
#include <bits/stdc++.h> using namespace std; int main() { int n,m,u,v; map<int,int> mp; scanf("%d %d",&m,&n); vector<int> in(n+1),pre(n+1); for(int i=1;i<=n;i++) {...原创 2020-03-15 18:23:02 · 99 阅读 · 0 评论 -
PAT A1131 Subway Map (30分)
#include <bits/stdc++.h> using namespace std; #define inf 100000000 #define maxn 10000 struct node{ int id,l; }; int n,m,k,s,e,mins,mint; bool vis[maxn]={0}; vector<node> g[maxn],temp,pat...原创 2020-03-14 01:37:53 · 135 阅读 · 1 评论 -
PAT 甲级 1118Birds in Forest (25分)
题目链接 A 1118 AC代码(C++) 不想用并查集,强行AC哈哈 #include <bits/stdc++.h> using namespace std; int main() { int n,q,k,id1,id2,cnt=1,num=0,max=0; scanf("%d",&n); vector<int> t(10001,0),p[n+1]; ...原创 2020-03-10 21:58:18 · 121 阅读 · 0 评论 -
PAT (Advanced Level) 1033 To Fill or Not to Fill (25分)
这道题太不喜欢了,暂时懒得简化代码了。。。 AC代码 #include <bits/stdc++.h> using namespace std; int main() { float cmax,dis,dpg,di,pi,n; scanf("%f%f%f%f",&cmax,&dis,&dpg,&n); vector<float> d...原创 2020-02-13 13:15:35 · 79 阅读 · 0 评论 -
PAT(Advanced level) 1127 ZigZagging on a Tree (30分)
题目要求 给出一棵二叉树的中序序列和后序序列,确定一棵树,层序遍历这棵树并按之字形回路输出。 示例: 输入: 8 12 11 20 17 1 15 8 5//中序 12 20 17 11 15 8 5 1//后序 输出: 1 11 5 8 17 12 20 15 解题思路 不递归,不建树,不做层序遍历,就能AC!!! 直接用两个序列找出每层的结点然后输出即可!! AC代码(C++) ```cp...原创 2020-02-10 19:40:44 · 90 阅读 · 0 评论 -
PAT(Advanced level) 1138 Postorder Traversal (25)
题目要求 给出一颗二叉树的前序和中序遍历序列,求后序遍历序列的第一个结点的值。(结点的值是互为不同的正整数) 解题思路 其实无需递归,递归比较慢。 以输入示例为例: 7 //结点数 1 2 3 4 5 6 7 //前序遍历序列 2 3 1 5 4 7 6 //中序遍历序列 正确输出 3 边界x=1,z=7,y表示前序某结点在中序中的位置。 顺序扫描前序直至x==z。 由前序:根节点为1;由中序...原创 2020-02-09 13:38:45 · 129 阅读 · 0 评论