1、gets()已经不被PAT中C++编译器支持,但是C语音编译器未受影响,1. 把头文件改成C语言格式,用C语音编译器即可通过。
.用cin.getline();
例题可见【PAT B1009】 说反话
改法可见 PAT入门题1——入门模拟
2、模拟链表时,地址类输出要控制输出位数。
printf("%05d",example);
PAT例题A1032 Sharing
代码:模拟链表、静态链表及PAT例题A1032 Sharing
3.、对于n位数的问题,有要求的,位数不够要补0;(考虑边界点0000 1000)
PAT例题A1152 Google Recruitment
//c++写法
cout<<setw(num)<<setfill('0')<<n<<endl;
PAT A 1121 Damn Single (25分)
4、unordered_map<>mp 替代map<>mp 可以节省时间
5、循环体每次赋初值
除非确定数,否则都用变量表示。
6、注意数的个数与数的范围
PAT(A) – 2018春季考试-甲级 1144 The Missing Number (20分)
7、sort()排序参数问题
sort(&v[0],&v[n]); // 第二个参数要指向尾元素的下一个地址
1125 Chain the Ropes (25分) 第二个参数错误测试样例部分通过
sort(v.begin(), v.end()); //vector
sort(stu, stu+num); //stu结构体数组
8、有的时候要清缓存
getchar();
getline(cin,s);
9、for (i = 0; i < n; i++) scanf("%d", &v[i]); //结束后 i=n;
10、for循环分开打印输出 注意临界点是否判定
本文汇总了参加PAT算法竞赛时的实用技巧,包括C++与C语言编译器的使用差异、链表模拟时的地址类输出控制、数值位数补充、unordered_map的效率优势、循环体赋值注意事项、数的范围与数量考量、sort()函数正确用法、缓存清理、输入读取技巧等。这些技巧旨在帮助参赛者避免常见错误,提升算法设计与实现效率。
1144

被折叠的 条评论
为什么被折叠?



