PAT
cColdTea
再丑也要擦口红
展开
-
PAT1109——Group Photo
感觉自己做的挺麻烦的,将最后一排与前面几排分开来讨论,估计看代码的人会有点吃力。 struct Stu{ string name; int hei; }stu[10010]; int que[10010]; int n, k; bool cmp(Stu a, Stu b){ if(a.hei == b.hei) return a.name < b.name; r原创 2017-08-29 21:10:09 · 265 阅读 · 0 评论 -
PAT1074——Reversing Linked List
答案上面是整体排序,然后分段显示,需要考虑的情况太多,还不如在写order的时候就将排序考虑进去,这样就没有其他需要考虑的情况了,这样不容易犯错。 唯一的问题就是需要遍历两遍链表,第一遍获得最大有效数目,然后按照顺序写order,第二遍将需要反序的order写入即可。 #define maxn 100010 struct Node{ int address; int原创 2017-08-20 10:52:25 · 275 阅读 · 0 评论 -
PAT1022——Digital Library
这题主要在于要做5张map>做出索引来,还有getcin、getchar的用法,直接po代码了。 int n, m; map> book[5]; int main(){ cin>>n; for(int i = 0; i<n; i++){ string id; cin>>id; getchar(); string temp;原创 2017-08-19 16:20:23 · 187 阅读 · 0 评论 -
PAT1060——Are They Equal,利用字符串解题
因为不常用string,于是尝试用char数组解题,由于无法erase,于是需要定位操作,我感觉写出来十分麻烦,看的也不舒服,但是既然写了还是po出来吧,以后要练习多用string啊。 int n; char num1[110] = {0}, num2[110] = {0}, num1_temp[110] = {0}, num2_temp[110] = {0}; int smallZero(c原创 2017-08-19 11:03:16 · 194 阅读 · 0 评论 -
PATB1030——完美数列
正解肯定是二分,懒癌的lz用multiset,最后不能直接相减得到两个迭代器的距离(红黑树啊摔),没有办法只能用distance( ),只是想试试会不会超时,哈哈哈,真的超时了,还是滚回去乖乖二分啊。 int n, p; multiset num; int main(int argc, const char * argv[]) { cin>>n>>p; for(int原创 2017-09-11 00:10:30 · 315 阅读 · 0 评论 -
PAT1103——Integer Factorization
DFS很简单的,lz只是想抒发感慨所以才po代码 int num, k, p; int factor[400]; vector ans, ans_temp; int Max = 0; void dfs(int tot, int sum, int index, int level){ if(level > k) return; if(level == k){ if(原创 2017-09-11 17:02:18 · 252 阅读 · 0 评论