自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 PAT甲级A11411141 PAT Ranking of Institutions超时问题

原题链接添加链接描述思索一番,该题还是写一篇文章,因为对于我帮助挺大的,其实也是困扰了半天。直观思路本题,最直观的思路是,使用unordered_map < string,double > 建立学校到成绩的映射,使用unordered_map < string,int > cnt建立从学校到人数的映射。使用vector < string > total 来存储下所有出现过的学校。代码如下#include <bits/stdc++.h>using

2021-02-27 21:41:42 133

原创 结构体的初始化

一般在做算法题时,往往需要用结构体来存储下一个具体的对象,比如说,一个学生,有不超过8位的姓名name,16位学号id,int类型的成绩score。则可以使用如下的结构体,并且建立构造函数。struct student{ char name[10],id[20]; int score; student(){}//注意点1 student(char _name[10],char _id[20],int _score){//注意点2 strcpy(name,_

2021-02-24 19:56:46 244

原创 刷pat过程中的坑点

开贴记录刷pat过程中困扰我很久的坑点。2021/2/22pat甲级1061 Dating 以为两个字符相加结果是串,比如以为’0’+'5’为”05“,其实是‘e’,因为‘0’的ASC码值为48,‘5’的ASC码值为53,ASC码值为101的字符恰好为‘e’。#include <iostream>#include <string>using namespace std;int main(){ string ans; char ch = '0';//定义

2021-02-22 16:33:25 116

原创 使用string时,不要在一行里面加两个字符

在做pat甲级1061 Dating时,出现了问题,就是有几个点是错误。后来发现,原来是有一行代码企图在一行里面将两个字符常量加到一个string中。示例如下#include <iostream>#include <string>using namespace std;int main(){ string ans; ans += '0'; ans += '5'; cout<<ans; return 0;}//运

2021-02-22 16:27:35 119

原创 PAT乙级1027 打印沙漏(测试点0、3格式错误)

1027 打印沙漏坑点,天坑,每一行的字符后面是没有空格的。#include <iostream>#include <string>#include <vector>#include <unordered_map>using namespace std;int main(){ int cur = 3; vector<int> nums; unordered_map<int,int> mp;

2021-02-21 21:19:56 301 1

原创 PATB1036 跟奥巴马一起编程(string的使用)

原题链接1036 跟奥巴马一起编程本题挺简单的,对于string的使用很有帮助。代码#include <iostream>#include <string>using namespace std;int main(){ int n; char c; scanf("%d %c",&n,&c);//注意中间要有空格,否则,char类型的c会吸收空格 int r = n&1 ? n/2+1 : n/2; fo

2021-02-21 17:15:48 86

原创 sort函数

对于常规非结构体类型的数组或者是向量,可以使用sort进行排序。从小到大排序#include <iostream>#include <vector>#include <algorithm>using namespace std;void show(vector<int> &v){ for(auto n:v) printf("%d ",n);}int main(){ vector<int> v{4,8,

2021-02-21 15:35:30 69

原创 PAT甲级1065 A+B and C (64bit) 详细版

原题链接1065 A+B and C (64bit)无论是在pat还是在leetcode中,总是特别喜欢出一些数据取到类型边界的问题。这都涉及到计算机组成原理中的数据在计算机中存放问题。现以PAT甲级1065题为出发点总结如下。众所周知,数据在计算机中是以二进制补码的形式存放的。其中有符号数的最高位解释为符号位,无符号数的最高位仍未数据位。以64位的long long为例,一个long long类型的整数在计算机中占据64bit,即8B(字节)。并且最高位即第63位(从0开始)为符号位,取值范围为[-

2021-02-20 22:48:38 455 5

原创 PAT乙级1018 锤子剪刀布(测试点1、2、4)

原题链接1018 锤子剪刀布本题本来是一道简单题,但是我竟然提交了不下十次,就是有三个点是错误的,即测试点1、2、4。这也说明了思路是正确的。其实问题出在了输出使得各自获胜次数最多的手势上面。自定义测试样例1C C按照题目意思,这种情况为进行了一次交锋,并且是平局,也就是说甲和乙都没有胜利,此时按照题意,在第三行应该输出的是B B,因为甲和乙都没有赢,即对于每个人来说,B、C、J三种手势,每个手势下赢的次数都是0,此时都应该输出B。原代码为#include <iostream&gt

2021-02-20 20:10:27 966 6

原创 PAT中的四舍五入

在pat乙级中有这么一道题目1026 程序运行时间,题目并不难,但是有一个坑点就是,不足一秒的时间要进行四舍五入,按照题意是当对时间间隔对100取余之后,观察余数与50的关系,即当余数小于50,则直接舍弃余数,但当余数大于等于50,则将秒数+1。#include <iostream>using namespace std;int main(){ int st,en; scanf("%d%d",&st,&en); int total = (en

2021-02-20 16:30:30 135

原创 L2-002 链表去重

原题链接L2-002 链表去重 这道题属于模板题,首先根据给定的整条链表的起始节点地址(数组下标)遍历一遍链表,得到链表中有效节点的个数,并将有效节点的tag置为1,方便将有效结点排到左侧,并且,还要按照原来的顺序排列。重要的是得到整个有效链表之后,如何按照题意进行输出。这道题虽然在pat中是用数组给的数据,但是在408考题中,可能会是使用链表给定数据,一开始我在结构体中增加了一个变量,用于在排序之后,遍历一遍有效结点,这次的顺序是,先遍历到最后一个,再遍历到第一个,再遍历到倒数第二个,再遍历到第二个

2021-02-08 10:29:33 276

原创 1052 卖个萌

原题链接注意坑点:1、用户选择序号要合法。不合法情况包括序号为0、序号大小超过了对应不为表情个数。2、序号非法的情况下,输出结果里面有一个反斜杠’’,要输出的话,要多些一个\。#include <iostream>#include <string>#include <vector>#include <unordered_map>using namespace std;unordered_map<int,string> mp;

2021-02-07 20:02:19 54

原创 PATA1080 Graduate Admission

题目链接1080 Graduate Admission这个题,困扰了我好久,最后发现自己原来是手残,将排序的初值设为了1,应该是0啊!!!!思路将所有学生的信息存储下来,包括两个分数ge、gi,以及id,然后按照规则将学生排序。之后遍历已经排好顺序的学生,按照排名来查看当前学生的志愿学校的名额是否已经满了,如果没有满,则将该学生的id加入到该志愿学校的录取名单中,并将该学校的名额减一。如果名额已经满了,则查看该学校最后录取的学生的排名是否与当前学生的排名相同,如果相同,则将当前学生也加入该学校的录取名

2021-02-04 23:41:35 107

原创 PATA1095

这道题挺复杂的。是真的挺复杂。数据花里胡哨的。一定要注意一点:如果一个车在某时刻 t1 是“in”状态,那么当查询时间里面有 t1 时,要加上这辆车。但是当一个车在 t2 时间是“out”状态,那么如果查询时间里面有 t2 ,则不要加上这辆车,这点其实在给的样例里面也说了,需要仔细分析样例。也即该题的边界条件。思路总体思路:找出所有有效的时间对,即所有车停在校园的时间对。读入每一条记录,在读入过程中,将用标准时间格式给的时间转变为以秒为单位的时间。最重要的是,将不同车的记录,分开存储。这就需要一个结

2021-02-04 18:41:46 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除