PAT
深夜喝牛奶
这个作者很懒,什么都没留下…
展开
-
1097 Deduplication on a Linked List (25分)
测试点2过不去,回头看 #include <iostream> #include <vector> #include <algorithm> using namespace std; const int maxn=100010; struct node{ int address; int data; int next; bool flag; }list[...原创 2020-02-20 03:02:19 · 144 阅读 · 0 评论 -
1074 Reversing Linked List (25分)
首先进行链表的处理,建立起一个正常的链表。 接着用vector容器进行反转,其最后不足m的不进行反转,并且最后要针对其next是否为-1进行判断输出。 #include <iostream> #include <vector> #include <algorithm> using namespace std; const int maxn=100010; str...原创 2020-02-19 20:17:53 · 131 阅读 · 0 评论 -
1051 Pop Sequence (25分)
水题,栈模拟。 #include <iostream> #include <algorithm> #include <stack> using namespace std; stack<int>st; int main() { int m,n,T; int ans[1001]; scanf("%d%d%d",&m,&n,&...原创 2020-02-19 18:08:00 · 113 阅读 · 0 评论 -
1022 Digital Library (30分)
本程序要建立一个字符串与集合之间的映射关系,如: 输入字符串The Testing Book,则要输出整数集合{1111111,2222222}, 因此,使用 map<string,set <int> > 之后,在输入title等字符串时,要注意key word的输入并不是用getline,而是一行由空格分割的多个标签,可以使用以下程序段进行读入: while(cin>...原创 2020-02-19 14:11:47 · 76 阅读 · 0 评论 -
1071 Speech Patterns (25分)
代码主要由两部分构成: 第一部分是输入语句的分割,将其分割成由字母和数字组成的字符串。 第二部分是统计不同字符串的个数。 这里值得注意的是,划分字符串时所用的substr函数的条件是到达一个既不是字母又不是数字的字符,但是如果只输入一个字符的话,则无法判断。 因此,在输入字符串之后要人为在最后加一个空格。 并且还要用于部分自动机的思想,用状态0和1来划分前面的字符是否是有用字符。 #include...原创 2020-02-19 02:27:11 · 213 阅读 · 0 评论 -
1100 Mars Numbers (20分)
程序分为两部分,第一部分是将数字转换成字符,第二部分是将字符转换成数字。最多有两位数字,因此可以用打表法比较简单。 首先,如果输入的是数字的话,那么先将字符型转换成整型,然后作为数组下标进行查表。 而如果输入的是字符串的话,那么需要用map进行映射。 由此易得初始化函数。 一位数字时: for(int i=0;i<13;i++) { numtostr[i]=mars[i]; str...原创 2020-02-18 23:39:36 · 134 阅读 · 0 评论 -
1063 Set Similarity (25分)
集合应用问题 首先输入输入1到N 个集合的元素,下标从1开始。 接着输入Q个查询,每个查询输入两个整数a,b。 调用函数: 1.初始化总元素个数为b集合元素个数,相同元素个数为0 2.遍历a集合,查询b集合中的元素。 如果相同,则相同元素个数加1 如果不同,则总元素个数加1,因为总元素个数=b集合元素个数+a集合中b集合没有的元素个数。 3.输出结果 #include <iostream&g...原创 2020-02-18 22:48:01 · 100 阅读 · 0 评论