
PAT
文章平均质量分 56
wjzz
ML/DL
展开
-
PAT-A1065 A+B and C (64bit)(模拟)
不是很难,需要对溢出有点了解,复习了组成原理应该自己能做出来的。根据题目的范围(正2^63应该是开的)知道可能溢出,所以AB为正,结果为负,正溢出(根据组成原理知识)。AB为负,结果>=0,负溢出。其他正常算。注意:两个longlong类型不能再if判断条件内相加比较,要先算出来再比较,有知道的大神麻烦告诉我下原因。#include #include #include #incl原创 2016-03-01 11:10:14 · 993 阅读 · 1 评论 -
PAT-1012 数字分类
#include #include #include #include #include using namespace std;#define MAX 1000+10int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n = 0, a[MA原创 2016-02-24 11:51:26 · 327 阅读 · 0 评论 -
PAT-1010 一元多项式求导
注意理解题意,关键词非零项,输入0 0特判。#include #include #include #include using namespace std;#define MAX 1000int xishu[MAX],zhishu[MAX];int main(){ //freopen("in.txt", "r", stdin); //freopen("out.原创 2016-02-23 23:10:09 · 385 阅读 · 0 评论 -
PAT-1009 说反话
#include #include #include #include using namespace std;#define MAX 100int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); char str[MAX], word[MAX][MAX]原创 2016-02-23 22:38:00 · 394 阅读 · 0 评论 -
PAT-1008 数组元素循环右移问题
题解:数组右移转逆置问题。#include #include #include #include using namespace std;void reverse(int a[], int l, int h){ if(l >= h) return; for (int i = 0; i <= (h-l)/2; i++) { i原创 2016-02-23 22:13:36 · 463 阅读 · 0 评论 -
PAT-A1071. Speech Patterns (25)
map应用。#include #include #include #include #include #include #include using namespace std;int isLegal(char c){ if ((c >= 'a' && c = 'A' && c = '0' && c <= '9')) return 1; return 0;}原创 2016-03-06 22:07:38 · 501 阅读 · 0 评论 -
PAT-A1060. Are They Equal (25)
正数部分为0,不为0分开处理。还要处理前导0。用string,注意erase的应用。#include #include #include #include #include #include #include using namespace std;int n;string deal(string s, int &e){ int k = 0; while原创 2016-03-06 22:06:20 · 412 阅读 · 0 评论 -
PAT-A1054. The Dominant Color (20)
用map,注意范围是2^24,所以int可以。#include #include #include #include #include #include #include using namespace std;map mp;int main(){ freopen("in.txt", "r", stdin); //freopen("out.txt", "w", st原创 2016-03-06 22:04:22 · 455 阅读 · 0 评论 -
PAT-A1063. Set Similarity (25)
思想是用set。#include #include #include #include #include #include using namespace std;#define MAX 50+5set sets[MAX];int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", s原创 2016-03-06 22:03:11 · 426 阅读 · 0 评论 -
PAT-A1047. Student List for Course (25)
VECTOR#include #include #include #include #include #include using namespace std;#define MAX 40000+10char name[MAX][5];vector course[2500];bool cmp(int a, int b){ return strcmp(name[a原创 2016-03-06 21:59:26 · 428 阅读 · 0 评论 -
PAT-A1039. Course List for Student (25)
传统方法超时一组数据。#include #include #include #include #include using namespace std;#define MAX 200struct Course{ int index; int num; char name[200][5];}course[2500+10];int cmp(const void *a原创 2016-03-06 21:57:34 · 404 阅读 · 0 评论 -
PAT-A1024. Palindromic Number (25)
最多执行100次以后可能MAX=20不够。#include #include #include #include #include using namespace std;#define MAX 100struct bign{ int d[MAX]; int len; bign() { memset(d, 0, sizeof(d)); len = 0; }原创 2016-03-06 21:50:12 · 463 阅读 · 0 评论 -
PAT-A1023. Have Fun with Numbers (20)
0也要判断。#include #include #include #include #include using namespace std;#define MAX 20+5struct bign{ int d[MAX]; int len; bign() { memset(d, 0, sizeof(d)); len = 0; }};int vis[10]原创 2016-03-06 21:49:00 · 386 阅读 · 0 评论 -
PAT-B1017. A除以B (20)
大数相除。#include #include #include #include #include using namespace std;#define MAX 1000+10struct bign{ int d[1000]; int len; bign() { memset(d, 0, sizeof(d)); len = 0; }};bign ch原创 2016-03-06 21:47:54 · 386 阅读 · 0 评论 -
PAT-A1059. Prime Factors (25(素数)
注意2、3这种情况,还有下边分开的两块。#include #include #include #include #include using namespace std;#define MAX 10000+10int prime[MAX], pnum = 0;bool p[MAX];struct Factor{ int x; int cnt;}factor[MAX]原创 2016-03-06 21:45:48 · 426 阅读 · 0 评论 -
PAT-A1078. Hashing (25)(哈希)
注意冲突处理的方式,其实探测因子到TSize/2就可以了。#include #include #include #include #include using namespace std;#define MAX 10000+100int vis[MAX];int isPrime(int n){ if (n <= 1) return 0; else { int原创 2016-03-06 21:43:39 · 425 阅读 · 0 评论 -
PAT-A1015. Reversible Primes (20)
#include #include #include #include #include using namespace std;int n, radix; int reverse(int m){ int t[10], cnt = 0, a = 0; while (m) { t[cnt++] = m%radix; m /= radix; } for (int原创 2016-03-06 21:41:56 · 527 阅读 · 0 评论 -
PAT-A1089. Insert or Merge (25)
根据牛客网的样例可以推出问题来,如果下一步的结果和上一步一样,就再做一步插入。pat的第三个样例也是这样。#include #include #include #include using namespace std;#define MAX 100+10int N;int origin[MAX], changed[MAX];int tempori[MAX];int is原创 2016-03-05 23:46:23 · 588 阅读 · 0 评论 -
PAT-1016 部分A+B
#include #include #include #include #include using namespace std;#define MAX 10+5int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); char a[MAX], b[MAX原创 2016-02-24 17:36:27 · 404 阅读 · 0 评论 -
PAT-1018 锤子剪刀布
注意:没有胜利的时候最后输出B。#include #include #include #include #include using namespace std;#define MAX 100000+5char a[MAX], b[MAX];int A[10], B[10];int main(){ //freopen("in.txt", "r", stdin);原创 2016-02-24 19:44:27 · 370 阅读 · 0 评论 -
PAT-1021 个位数统计
#include #include #include #include #include using namespace std;#define MAX 1000+5char num[MAX];int v[10];int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", std原创 2016-02-24 19:51:00 · 444 阅读 · 0 评论 -
PAT-A1046 Shortest Distance(模拟)
这个题目容易超时,外循环最多10^4,内循环最多10^5,一共10^9.超时的算法:#include #include #include #include using namespace std;#define MAX 100000+10int cycle[MAX];int main(){ //freopen("in.txt", "r", stdin);原创 2016-03-01 10:27:48 · 425 阅读 · 0 评论 -
PAT-A1025 PAT Ranking(25)
重点是排名,方法:排序好后第一个人是第一名,其后则如果和前一个分数一样,则和前一个人排名一样,否则排名为下标+1.#include #include #include #include using namespace std;#define MAX 30000+10struct Testee{ char regis_num[14]; int score;原创 2016-03-01 10:16:15 · 344 阅读 · 0 评论 -
PAT-A1042 Shuffling Machine(简单模拟)
#include #include #include #include using namespace std;#define MAX 60int start[MAX], endd[MAX], change[MAX];int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", st原创 2016-03-01 10:07:51 · 392 阅读 · 0 评论 -
PAT-1048 数字加密20
很坑的题目,测试例子要求如果B的长度小于A,则在B前边填上0补齐,题目中并没有说。#include #include #include #include using namespace std;#define MAX 100+10void zero(char a[], int d){ for (int i = strlen(a)-1; i >=0; i--)原创 2016-02-29 17:31:46 · 993 阅读 · 0 评论 -
PAT-1037 在霍格沃茨找零钱
#include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int g1, s1, k1, g2, s2, k2; scanf("%d.%d.原创 2016-02-29 15:34:03 · 503 阅读 · 0 评论 -
PAT-1028人口普查
用string可以写的很短,不用排序。但是留着了,结构体二级排序。PAT有一个样例格式错误!牛客网过了#include #include #include #include using namespace std;#define MAX 100000+10struct People{ char name[20]; int year; int mont原创 2016-02-29 14:56:05 · 2608 阅读 · 3 评论 -
PAT-1027 打印沙漏
#include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n = 0, m = 0; char c; cin >> n >>原创 2016-02-29 10:49:09 · 790 阅读 · 0 评论 -
PAT-1020 D进制的A+B
注意A+B为0时候#include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int A = 0, B = 0, D = 0; int rec原创 2016-02-29 09:45:37 · 449 阅读 · 0 评论 -
PAT-1020 月饼
贪心#include #include #include #include using namespace std;#define MAX 1000+10struct Pie{ double store; double totalprice; double price;} pie[MAX];int cmp(const void*a, const v原创 2016-02-29 09:24:47 · 692 阅读 · 0 评论 -
PAT-1043 输出PATest
#include #include #include #include #include #include using namespace std;#define MAX 10000+10char str[MAX];int cnt[7];int main(){ //freopen("in.txt", "r", stdin); //freopen("out.t原创 2016-02-28 22:20:55 · 808 阅读 · 0 评论 -
PAT-1024 科学计数法
PAT有个没过,牛客都过了。本来以为是指数为0的问题,然而并不是。#include #include #include #include #include #include using namespace std;#define MAX 10000+100int main(){ //freopen("in.txt", "r", stdin); //freo原创 2016-02-28 16:49:38 · 668 阅读 · 0 评论 -
PAT-1023 组个最小数
水。不用排序#include #include #include #include #include #include using namespace std;#define MAX 50+5int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout);原创 2016-02-28 16:09:35 · 628 阅读 · 0 评论 -
PAT-1046划拳
注意最后是甲乙喝酒的次数。#include #include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n = 0; cin >>原创 2016-02-28 14:18:31 · 1187 阅读 · 0 评论 -
PAT-1041 考试座位号
#include #include #include #include #include using namespace std;struct Student{ char num[20]; int shi; int kao;}stu[1000+10];int main(){ //freopen("in.txt", "r", stdin);原创 2016-02-24 23:22:12 · 1658 阅读 · 0 评论 -
PAT-1036 跟奥巴马一起编程
模拟。#include #include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int N = 0; char c; cin原创 2016-02-24 22:52:17 · 1027 阅读 · 0 评论 -
PAT-1031查验身份证
char数组赋初值别忘了单引号#include #include #include #include #include using namespace std;#define MAX 20int weight[17] = {7, 9, 10, 5 , 8, 4, 2, 1, 6, 3, 7, 9, 10 , 5, 8, 4, 2};char M[11] = {'1', '0',原创 2016-02-24 22:42:15 · 483 阅读 · 0 评论 -
PAT-1026 程序运行时间
不知道样例为什么多一秒,牛客网能通过,pat上其他样例也可以通过。有知道的麻烦告诉我。#include #include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", std原创 2016-02-24 20:23:13 · 635 阅读 · 0 评论 -
PAT-A1013. 数素数 (20)
素数的处理。#include #include #include #include #include using namespace std;const int maxn = 200000;int prime[maxn], cnt = 0;int M, N;bool p[maxn];int isPrime(int n){ if (n <= 1) return 0;原创 2016-03-05 23:13:03 · 432 阅读 · 0 评论 -
PAT-A1081. Rational Sum (20)
分数处理,简化,输出要会。#include #include #include #include #include using namespace std;#define MAX 100+10struct Fraction{ long long up; long long down;}fraction[MAX], sum;int gcd(int a, int b)原创 2016-03-05 23:11:51 · 407 阅读 · 0 评论