
PATA
猪突猛进!
这个作者很懒,什么都没留下…
展开
-
PATA1042.Shuffling Machine
题目链接:点击打开链接知识点笔记: -- 三个数组,start用于存放执行操作前的牌序,end用于存放执行操作后的牌序,next数组存放每个位置上的牌在操作后的位置。 -- 最后的输出循环,以后可以常用,一个空格加一个数据一组,第一组的空格不输出。AC代码:#include <iostream>using namespace std;const int N=54;ch...原创 2018-03-08 20:24:07 · 277 阅读 · 0 评论 -
PATA.A+B Format
题目链接:点击打开链接知识点笔记: 注意一点,9,999(正确) 999,9(错误) AC代码:#include <iostream>using namespace std;int main() { int a,b; scanf("%d %d",&a,&b); int sum = a+b; if(sum<0){ printf("-"); ...原创 2018-03-10 20:59:55 · 292 阅读 · 0 评论 -
PATA1005.Spell It Right
题目链接:点击打开链接知识点笔记: 挺简单的,就是输入的数太大,需要用字符串处理AC代码:#include <iostream>#include <cstring>using namespace std;int main() { char res[10][10]={"zero","one","two","three","four",&qu原创 2018-03-10 22:55:17 · 319 阅读 · 0 评论 -
PATA1035.Password
题目链接:点击打开链接知识点笔记: 注意输出的单复数判断,这个坑。。 AC代码:#include <iostream>#include <cstring>using namespace std;struct user{ char name[20]; char password[20]; bool modify=false;}users[1...原创 2018-03-11 00:14:31 · 359 阅读 · 0 评论 -
PATA1077.Kuchiguse
题目链接:点击打开链接知识点笔记: 这题的关键是字符串的反置,也可以用reverse函数做AC代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main() { int n,minLen=256,count=0; char...原创 2018-03-11 11:59:06 · 350 阅读 · 0 评论 -
PATA1082.Read Number in Chinese
题目链接:点击打开链接知识点笔记:AC代码:#include <iostream>#include <cstring>using namespace std;char num[10][5] = { "ling","yi","er","san","si","wu","liu","qi",原创 2018-03-11 12:21:04 · 256 阅读 · 0 评论 -
PATA1074.Reversing Linked List
题目链接:点击打开链接知识点笔记: AC代码:#include <iostream>using namespace std;int main(){ int first,k,n,count=0; cin>>first>>n>>k; int temp,data[100005],next[100005],list[100005],resul...原创 2018-03-17 10:12:29 · 217 阅读 · 0 评论 -
PATA1032.Sharing
题目链接:点击打开链接知识点笔记:思路就是输入数据时候全部为false,然后按第一个链表走一遍,把第一个链表有的元素置为true,然后再按第二个链表走一遍,碰见第一个true就直接return 0退出程序scanf("%d %c %d",&address,&data,&next); 这里输入必须加空格AC代码:#include <cstdio>using n...原创 2018-03-17 15:06:40 · 354 阅读 · 0 评论 -
PATA1039.Course List for Student
题目链接:点击打开链接知识点笔记: 字符串hash映射要掌握,题目给的字符串格式是三个大写字母加一个数字,所以是26*26*26*10-1.AC代码:#include <iostream>#include <cstring>#include <vector>#include <algorithm>using namespace ...原创 2018-03-11 15:21:31 · 223 阅读 · 0 评论 -
PATA1052.Linked List Sorting
题目链接:点击打开链接知识点笔记:AC代码:#include <iostream>#include <algorithm>using namespace std;const int maxn = 100010;struct Node{ int key,address,next; bool flag=false;//结点是否在链表上}node[maxn];b...原创 2018-03-17 16:55:00 · 301 阅读 · 0 评论 -
PATA1047.Student List for Course
题目链接:点击打开链接知识点笔记: course[i]存放所有选第i门课的学生编号,如果某学生i选择了课程j,那么就将该学生的编号i存放到course[j]中 对每一门课i,将course[i]中的学生按姓名字典序从小到大排序,然后输出。AC代码:#include <iostream>#include <algorithm>#include <cstr...原创 2018-03-12 12:38:40 · 258 阅读 · 0 评论 -
PATA1063.Set Similarity
题目链接:点击打开链接知识点笔记: --find函数的使用,find会挨个查找set,当到达set.end()时,也就是一个也没找到,返回endAC代码:#include <iostream>#include <set>using namespace std;const int N = 51;set<int> st[N];void compar...原创 2018-03-12 15:02:15 · 233 阅读 · 0 评论 -
PATA1060.Are They Equal
题目链接:点击打开链接知识点笔记:AC代码:#include <cstdio>#include <cstring>using namespace std;int main() { int n, p = 0, q = 0; char a[10000], b[10000], A[10000], B[10000]; scanf("%d%s%s", &...原创 2018-03-12 22:45:01 · 269 阅读 · 0 评论 -
PATA1100.Mars Numbers
题目链接:点击打开链接知识点笔记: 题目中是整行输入,scanf("%d%*c",&n),另外cin是以空格结尾,getline是以回车结尾 由于题目的数只有两位,即0~168,所以直接可以打表实现 AC代码:#include <iostream>#include <string>#include <map>...原创 2018-03-14 14:40:23 · 246 阅读 · 0 评论 -
PATA1073.Scientific Notation
题目链接:点击打开链接知识点笔记: 这个题的关键是先得到E的位置pos,再得到指数exp的位置,exp的位置是pos+2 在exp>0时,比较难分析,小数点应该加在exp+2的位置上,原小数点和E之间的数字个数pos-3不能等于小数点右移的位数exp,因为此时是一个整数,不需要小数点。AC代码:#include <iostream>#include <cstr...原创 2018-03-10 16:55:37 · 270 阅读 · 0 评论 -
PATA1061.Dating
题目链接:点击打开链接知识点笔记: 一个小技巧,第一个和第二个循环都是处理str1和str2的,而且有先后顺序,可以将 i 设为循环外面 %02d运用AC代码:#include <iostream>#include <algorithm>#include <cstring>using namespace std;int main() { ...原创 2018-03-10 14:02:39 · 263 阅读 · 0 评论 -
PATA1046.Shortest Distance
题目链接:点击打开链接知识点笔记: -- 做的时候有一个点没有想到,就是数组D[i]的设置,可以让查找的时间复杂度变为O(1)纠结了一段时间在D[0]上,其实D[i]的就是1沿着顺时针到i的下一个点的距离之和,那D[0]就是0的下一个就是1,就是1到1的距离,当然是0了。。AC代码:#include <iostream>#include <algorithm>us...原创 2018-03-08 21:47:23 · 289 阅读 · 0 评论 -
PATA 1065.A+BandC
题目链接:点击打开链接知识点笔记: 显然此题需要用long long类型,但是仍然会溢出,long long类型是范围是[-2^63,2^63),是前闭后开区间,有一个测试点我在做的时候一直通过不了,就是因为后面这个开区间,long long类型取不了2^63这个值,当A、B都为正数时,A+B>= 2^63时会超过long long的正向最大值而发生正溢出。A和B的最大值为2^...原创 2018-03-08 23:46:17 · 484 阅读 · 0 评论 -
PATA1002.A+B for Polynomials
题目链接:点击打开链接知识点笔记: 首先学几个单词,Polynomial多项式,exponent指数,cofficient系数 对于这类关于方程的求解问题,灵活运用数组下标,a[e] = k,k为系数,e为指数AC代码:#include <iostream>using namespace std;const int maxn = 1010;int main() {...原创 2018-03-09 09:19:34 · 267 阅读 · 0 评论 -
PATA1009.Product of Polynomials
题目链接:点击打开链接知识点笔记: 注意ans数组至少要开到2001,防止A和B如果都是最高幂次1000而越界,没有必要两个数组存放两个多项式然后读完系数再处理,只需第二个多项式的系数边读入边处理 AC代码:#include <iostream>using namespace std;struct Poly{ int exp; //指数 double cof;...原创 2018-03-09 10:11:40 · 251 阅读 · 0 评论 -
PATA1011.World Cup Betting
题目链接:点击打开链接知识点笔记: 送分题AC代码:#include <iostream>using namespace std;int main() { double w,t,l; double a[3]; for(int i=0;i<3;i++){ scanf("%lf %lf %lf",&w,&t,&l); a[i]=max(...原创 2018-03-09 14:51:00 · 183 阅读 · 0 评论 -
PATA1006.Sign In and Sign Out
题目链接:点击打开链接知识点笔记: 灵活运用比较函数AC代码:#include <iostream>using namespace std;struct admin{ char id[20]; int hh,mm,ss;}temp,ans1,ans2;bool cmp(admin a1,admin a2){ if(a1.hh!=a2.hh) return...原创 2018-03-09 16:21:09 · 308 阅读 · 0 评论 -
PATA1071.Speech Patterns
题目链接:点击打开链接知识点笔记: <cctype>下几个常用方法 转小写tolower和转大写toupper isalpha如果是字母,返回一个非零数;否则返回为0 isalnum如果是字母或数字,返回一个非零数;否则返回为0 isdigit如果是数字(0-9)返回一个非零数;否则返回为0 本题需要注...原创 2018-03-15 23:40:23 · 213 阅读 · 0 评论 -
PATA1022.Digital Library
题目链接:点击打开链接知识点笔记: auto自动识别类型AC代码:#include <iostream>#include <map>#include <set>using namespace std;map<string,set<int> > mpTitle,mpAuthor,mpKey,mpPub,mpYear;...原创 2018-03-16 00:55:16 · 284 阅读 · 0 评论 -
PATA1036.Boys vs Girls
题目链接:点击打开链接知识点笔记:AC代码:#include <iostream>#include <algorithm>using namespace std;struct student{ char name[15]; char gender; char id[15]; int grade;}low,high,temp;int main() {...原创 2018-03-09 16:55:26 · 222 阅读 · 0 评论 -
PATA1031.Hello World for U
题目链接:点击打开链接知识点笔记: 主要是n1,n2,n3的求值,理解公式即可AC代码:#include <iostream>#include <cstring>using namespace std;int main() { char str[100]; gets(str); int N = strlen(str); int n1,n2,n3; n...原创 2018-03-09 23:10:52 · 273 阅读 · 0 评论 -
PATA1019.General Palindromic Number
题目链接:点击打开链接知识点笔记: 对一个P进制数x转换为Q进制,需要两步 Step1:将P进制x转换为十进制数yint y=0,product=1; while(x!=0){ y = y + (x%10)*product; x /= 10; product *= P; } Step2:将十进制数y转换为Q进制数zint z[40],num=0; d...原创 2018-03-10 00:16:02 · 196 阅读 · 0 评论 -
PATA1027.Colors in Mars
题目链接:点击打开链接知识点笔记: 自己的做法比较复杂,写了一个专门转换进制的函数,就不贴了,这个方法比较简洁,因为给的十进制数的范围是[0,168],168是小于13的平方的,所以直接一步转换就可以了。AC代码:#include <iostream>using namespace std;char radix[13]={'0','1','2','3','4','5...原创 2018-03-10 10:11:30 · 209 阅读 · 0 评论 -
C++数据结构 栈和队列
栈PATA-1051 Pop Sequence#include <iostream>#include <stack>using namespace std;const int maxn = 1005;int arr[maxn]; //保存给定的出栈序列stack<int> st;int main() { int m,n,t; scanf("%d...原创 2018-03-16 16:21:48 · 446 阅读 · 0 评论 -
PATA1058.A+B in Hogwarts
题目链接:点击打开链接知识点笔记: 第一次提交有一个2分的case没有过去,最后发现还是边界问题,g、s、k 和 sum都要用long long类型AC代码:#include <iostream>using namespace std;typedef long long ll;int main() { int Galleon = 17*29; int Sickle = ...原创 2018-03-10 12:34:18 · 306 阅读 · 0 评论 -
PATA1054.The Dominant Color
题目链接:点击打开链接知识点笔记: 本题如果不用map,思路:由于题目要求必须超过半数,因此有超过半数的数相同,如果采用两两不同的数相互抵消的做法,最后一定会剩下那个超过半数的数字。于是可以设置一个ans存放答案,设置另一个变量count计数ans出现的次数,然后在读入时判断ans与读入的数字是否相等,如果不相等,则令其抵消一次ans,如果相等,则令count加1.当然,如果某步co...原创 2018-03-14 16:20:34 · 238 阅读 · 0 评论