PAT (Advanced Level) Practice
符义的博客
平淡的时光随风而逝,无人聆听。
展开
-
1008 Elevator (20 分)
这个题很无语,最后一个楼层也要加上停的时间…… #include<bits/stdc++.h> using namespace std; int main(){ int t,sum=0,pre=0,now; cin>>t; sum+=t*5; while(t--){ cin>>now; if(now>pre) sum+=(now-pre)*6; else sum+=(pre-n原创 2021-10-26 10:28:12 · 109 阅读 · 0 评论 -
1007 Maximum Subsequence Sum (25 分)
思路:动态规划,记录最大结尾数字下标;for循环倒着找出最大上升序列的首下标。 输出格式: 1.全为负数,输出格式是0 nums[0] nums[nums.size()-1]; 2.正常按照普通格式输出就可以 #include<bits/stdc++.h> using namespace std; vector<int> nums; int start=0,enD=0,sum=0,maxn=INT_MIN; int main(){ int i,n; cin>&g原创 2021-10-26 09:38:38 · 104 阅读 · 0 评论 -
1006 Sign In and Sign Out (25 分)
题目意思:给你数个这样的字符串组合“编号 时间1 时间2”(时间1比时间2早),从数个字符串组合里找到 时间1最早的编号xxx,时间2最晚的编号yyy。 #include<bits/stdc++.h> using namespace std; int main(){ string ans1,ans2,time1,time2,s,t1,t2; int i; cin>>i>>s>>t1>>t2; ans1=s,ans2原创 2021-10-25 18:00:27 · 84 阅读 · 0 评论 -
1005 Spell It Right (20 分)
哈希表定义在全局区报错了,具体原因我不知道。 这道题,还是很简单的:题目给我们一个数字,将其每位上的数字加起来,然后换成拼音输出。 ps.防止越界我们把给题目给我们的数字当成字符串来进行操作。 #include<bits/stdc++.h> using namespace std; int main(){ unordered_map<char,string> hash{{'0',"zero"},{'1',"one"},{'2',"two"},{'3',"three"},原创 2021-10-25 16:28:48 · 91 阅读 · 1 评论 -
1004 Counting Leaves (30 分)
很奇怪,难点不在于题,而是读懂题……英语就让我有点????,读不懂题目,感觉这些题是不是有配书啊,风格和力扣差别很大,用二维数组表示树我也不熟悉……但好歹看懂了题目(表示很无语,真的很无语) 题目里输入的N没有用吧,我反正没用到, M(<N)表示非叶节点数???(我黑人脸) 猜测下“01 1 02”的意思是,父节点是01,有1个孩子,孩子是02,(02这个点算1层) 我们可以在修改上面那个案例,验证我们的想法: 9(随便写的) 2(m为2) 01 3 02 03 04 02 2 05 06 毫无疑原创 2021-10-25 15:06:08 · 123 阅读 · 0 评论 -
1003 Emergency (25 分)
#include<bits/stdc++.h> using namespace std; vector<vector<int>> edges(501,vector<int>(501,INT_MAX)); //有向图 vector<int> dis(501,INT_MAX),weight(501,0),w(501,0),nums(501,0); //分别对应从原点到某点的最短距离,某点所拥有的救援队人数,从原点到某点积累的救援队人数,从原点到某点的最原创 2021-10-25 09:04:10 · 89 阅读 · 0 评论