
PAT 乙级
老虞面馆
这个作者很懒,什么都没留下…
展开
-
1067. 试密码(20) PAT 乙级
传送门#include<iostream>using namespace std;int main(){ string passwd,input; int n; cin>>passwd>>n; getchar(); int count=0; while(true){ getline(cin,input); if(in原创 2017-03-26 14:51:50 · 833 阅读 · 0 评论 -
1023. 组个最小数 (20) PAT 乙级
传送门#include<iostream>using namespace std;int main(){ int a[10]; for(int i=0;i<10;i++){ cin>>a[i]; } for(int i=1;i<=9;i++){ if(a[i]>=1){ cout<<i;原创 2017-01-20 19:53:58 · 253 阅读 · 0 评论 -
1029. 旧键盘(20) PAT乙级&1084. Broken Keyboard (20)PAT甲级
甲级传送门乙级传送门#include<iostream>using namespace std;bool HashTable[128];int main(){ string s1,s2; getline(cin,s1); getline(cin,s2); int len1=s1.length(); int len2=s2.length(); for原创 2017-01-20 18:04:05 · 289 阅读 · 0 评论 -
1015. 德才论 (25) PAT乙级&1062. Talent and Virtue (25)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<algorithm>#include<string.h> #include<iostream>using namespace std;struct stu{ char id[15]; int de,cai,sum; int flag;}Stu[100100];bool cmp(struct s原创 2017-01-19 18:43:35 · 339 阅读 · 0 评论 -
1025. 反转链表 (25)PAT乙级&&1074. Reversing Linked List (25)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<algorithm>using namespace std;#define MAX_N 100100struct Node{ int address; int next; int data; int order;}node[MAX_N];bool cmp(struct Node a,st原创 2017-02-09 19:35:30 · 521 阅读 · 0 评论 -
1052. 卖个萌 (20) PAT乙级
传送门 被反斜杠坑到了。。#include<iostream>#include<string>#include<vector>using namespace std;vector<string> Get(string s){ vector<string> v; string temp=""; v.push_back(temp);//填入一个空串使得标号从1开始原创 2017-02-08 23:27:20 · 742 阅读 · 0 评论 -
1028. 人口普查(20)PAT乙级
传送门#include<stdio.h>#include<string.h>struct person{ char name[6]; int year; int month; int day;};bool cmp(struct person a,struct person b){ if(a.year!=b.year) return a.year>=b.原创 2017-02-08 22:04:25 · 381 阅读 · 0 评论 -
1022. D进制的A+B (20) PAT乙级
传送门#include<iostream>using namespace std;int ans[32];int main(){ int a,b,d; int num=0; cin>>a>>b>>d; int sum=a+b; do{ ans[num++]=sum%d; sum=sum/d; }while(sum>0);原创 2017-02-08 22:01:22 · 268 阅读 · 0 评论 -
1049. 数列的片段和(20) PAT乙级 &1104. Sum of Number Segments (20)PAT甲级
问题描述 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个片段。 给定正整数数列,原创 2016-06-21 22:55:19 · 442 阅读 · 0 评论 -
1050. 螺旋矩阵(25) PAT乙级&&1105. Spiral Matrix (25)PAT甲级
传送门#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;int N;int m,n;#define MAX_N 11000int a[MAX_N][MAX_N];int num[MAX_N];bool cmp(int a,int b){ return a>b;}void cal_m_n(原创 2017-02-08 21:39:03 · 455 阅读 · 0 评论 -
1003. 我要通过!(20) PAT乙级
传送门#include<stdio.h>#include<string.h>#define MAX_N 110int main(){ int n; char str[MAX_N]; scanf("%d",&n); getchar(); for(int k=0;k<n;k++){ int count_p=0,count_t=0,other=0原创 2017-02-08 18:41:12 · 286 阅读 · 0 评论 -
1035. 插入与归并(25) PAT乙级&&1089. Insert or Merge (25)PAT甲级
甲级传送门乙级传送门#include<stdio.h>#include<algorithm>#define MAX_N 110using namespace std;int n;int aim[MAX_N];int ins[MAX_N];int merg[MAX_N];bool isSame(int a[],int b[]){ bool flag=true; for(int原创 2017-02-08 16:57:43 · 474 阅读 · 0 评论 -
1048. 数字加密(20)PAT乙级
传送门#include<cstdio>#include<string.h>#define MAX_N 120char a[MAX_N],b[MAX_N],c[MAX_N];char p[]={'0','1','2','3','4','5','6','7','8','9','J','Q','K'}; char ans[MAX_N];void reverse(char s[]){ int原创 2017-01-17 17:06:00 · 378 阅读 · 0 评论 -
1007. 素数对猜想 (20)PAT 乙级
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (5),请计算不超过N的满足猜想的素数对的个数。输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。原创 2015-12-14 20:13:12 · 361 阅读 · 0 评论 -
1057. 数零壹(20) PAT 乙级
传送门#include<iostream>#include<string>using namespace std;int main(){ string s; long long sum=0; int count[2]={0,0}; getline(cin,s); for(int i=0;i<s.length();i++){ if(s[i]<='原创 2017-01-12 16:19:07 · 337 阅读 · 0 评论 -
1034. 有理数四则运算(20)PAT乙级&&1088. Rational Arithmetic (20)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<math.h>#include <stdlib.h>#include<algorithm>//加上就通过 using namespace std;//加上就通过 typedef long long ll;ll gcd(ll a,ll b){ if(a%b==0) return b; e原创 2017-02-08 01:44:44 · 460 阅读 · 0 评论 -
1024. 科学计数法 (20)PAT乙级&&1073. Scientific Notation (20)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<string.h>#define MAX_N 10010char str[MAX_N];int main(){ gets(str); int l=strlen(str); if(str[0]=='-') printf("-"); int position=0; while(str[p原创 2017-02-07 23:33:06 · 729 阅读 · 0 评论 -
1020 月饼 PAT PAT乙级&&1070. Mooncake (25) PAT甲级
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种原创 2015-12-14 16:51:41 · 510 阅读 · 0 评论 -
1040. 有几个PAT(25)PAT乙级&&1093. Count PAT's (25) PAT甲级
问题描述: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式: 在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对1原创 2016-08-02 23:21:09 · 416 阅读 · 0 评论 -
1066. 图像过滤(15) PAT乙级
传送门#include<stdio.h>#define MAX_N 520int n,m;int a,b;int p;int num[MAX_N][MAX_N];void print(){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(num[i][j]<=b&&num[i][j]>=a){原创 2017-03-26 12:48:05 · 1103 阅读 · 0 评论 -
1068. 万绿丛中一点红(20) PAT 乙级
传送门#include<stdio.h>#include<math.h>#include<map> using namespace std;#define MAX_N 1100//typedef long long ll;int img[MAX_N][MAX_N];int m,n;int tol;map<int,int> v; bool judge(int i,int j){ if原创 2017-03-28 10:00:05 · 1879 阅读 · 0 评论 -
1125. Chain the Ropes (25) PAT 甲级&&1070. 结绳(25) PAT 乙级
传送门#include<stdio.h>#include<algorithm>using namespace std;#define MAX_N 10100int main(){ int n; double a[MAX_N]; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%lf",&a[i]);原创 2017-03-06 09:32:33 · 614 阅读 · 0 评论 -
1124. Raffle for Weibo Followers (20) PAT 甲级&&1069. 微博转发抽奖(20) PAT乙级
传送门#include<iostream>#include<map>#include<string>#include<vector>using namespace std;map<string,int> count;vector<string> v;int m,n,s;int main(){ string name; cin>>m>>n>>s; v.push_ba原创 2017-03-06 09:31:19 · 604 阅读 · 0 评论 -
1044. 火星数字(20)PAT乙级&&1100. Mars Numbers (20)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<iostream>#include<map>#include<string>#define MAX_N 180using namespace std;string unit[13]={"tret","jan","feb","mar", "apr", "may", "jun", "jly", "aug", "sep",原创 2017-02-02 20:29:20 · 610 阅读 · 0 评论 -
1017. A除以B (20) PAT乙级
传送门#include<stdio.h>#include<string.h>struct bign{ int d[1100]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char str[]){ bign a; a.len=strlen原创 2017-02-01 20:35:19 · 242 阅读 · 0 评论 -
1030. 完美数列(25)PAT乙级&&1085. Perfect Sequence (25)PAT甲级
甲级传送门 乙级传送门#include<stdio.h>#include<algorithm>using namespace std;#define MAX_N 100010int a[MAX_N];int n;int p;int main(){ scanf("%d%d",&n,&p); for(int i=0;i<n;i++){ scanf("%d",&a原创 2017-01-30 19:20:26 · 408 阅读 · 0 评论 -
1055. 集体照 (25)PAT乙级&&1109. Group Photo (25) PAT 甲级
传送门#include<iostream>#include<algorithm> using namespace std;#define MAX_N 10010 struct P{ string name; int height;}p[MAX_N];bool cmp(struct P a,struct P b){ if(a.height!=b.height) retu原创 2017-02-09 21:02:02 · 725 阅读 · 0 评论 -
1065. 单身狗(25) PAT乙级&&1121. Damn Single (25) PAT 甲级
传送门#include<stdio.h>#include<vector>#define MAX_N 100100#include<algorithm>using namespace std;struct P{ int partner; P(){ partner=-1; }}p[MAX_N];vector<int> v,res;bool visite原创 2017-02-08 00:03:55 · 525 阅读 · 0 评论 -
1060. 爱丁顿数(25) PAT乙级&&1117. Eddington Number(25) PAT甲级
传送门将所有数从大到小排序,从左往后数,当第i个数小于等于i时满足要求#include<iostream>#include<algorithm>using namespace std;#define MAX_N 100100int N;int a[MAX_N];bool cmp(int a,int b){ return a>b;}int main(){ int i;原创 2017-01-11 17:16:54 · 435 阅读 · 0 评论 -
1059. C语言竞赛(20) PAT 乙级&&1116. Come on! Let's C (20) PAT甲级
传送门坑点一个不存在的ID查多次都是Are you kidding#include<iostream>#include<map>#include<math.h>using namespace std;int stu[10010];bool isPrime(int num){ int m=sqrt(num); for(int i=2;i<=m;i++){ if(n原创 2017-01-11 16:27:02 · 748 阅读 · 0 评论 -
1054. 求平均值 (20) PAT乙级&&1108. Finding Average (20)PAT甲级
传送门#include<stdio.h>#include<string.h>#include<stdlib.h>char str[110][1100];int main(){ int n; int count=0; double average=0; scanf("%d",&n); for(int i=0;i<n;i++){ bool is原创 2017-02-07 17:56:08 · 558 阅读 · 0 评论 -
PAT考试大纲
乙级(Basic Level)考生应具备以下基本能力: 1· 基本的C/C++的代码设计能力,以及相关开发环境的基本调试技巧; 2· 理解并掌握最基本的数据存储结构,即:数组、链表; 3· 理解并熟练编程实现与基本数据结构相关的基础算法,包括递归、排序、查找等; 4· 能够分析算法的时间复杂度、空间复杂度和算法稳定性; 5· 具备问题抽象和建模的初步能力,并能够用所学方法解决实际原创 2017-02-22 16:19:46 · 7111 阅读 · 0 评论 -
1019. 数字黑洞 (20)PAT乙级 &1069. The Black Hole of Numbers (20) PAT甲级
传送门乙级 传送门甲级 坑点:最后的表达式是有空格的#include<stdio.h>#include<algorithm>using namespace std;bool cmp(int a,int b){ return a>b;}void toArray(int n,int num[]){ for(int i=0;i<4;i++){ num[i]=n%1原创 2017-01-24 16:17:49 · 424 阅读 · 0 评论 -
1039. 到底买不买(20) PAT 乙级&&1092. To Buy or Not to Buy (20)PAT甲级
问题描述 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。 为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含原创 2016-06-21 23:54:56 · 568 阅读 · 0 评论 -
1058. 选择题(20) PAT乙级
传送门#include<string.h>#include<stdio.h>using namespace std;#define MAX_M 110#define MAX_N 1100 struct Q{ int score; char ans[6];}q[MAX_M];int grade[MAX_N];int wrong[MAX_M];int main(){原创 2017-02-07 16:33:31 · 699 阅读 · 0 评论 -
1045.快速排序(25) PAT 乙级&&1101. Quick Sort (25)PAT甲级
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:-1的左边没有元素,右边的元素都比它大,所以它可能是主元; -尽管3的左边元素都比它小,但是它右边的2它小,所以它不原创 2016-03-14 16:08:15 · 817 阅读 · 0 评论 -
1018. 锤子剪刀布 (20) PAT 乙级
问题描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。原创 2016-06-25 00:03:12 · 489 阅读 · 0 评论 -
1016. 部分A+B (15) PAT 乙级
问题描述 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。 现给定A、DA、B、DB,请编写程序计算PA + PB。输入格式 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出格式 在一行中输出PA + PB的原创 2016-06-24 23:58:07 · 258 阅读 · 0 评论 -
1046. 划拳(15) PAT 乙级
问题描述 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式 输入第一行先给出一个正整数N(<=100),随后N行,每行给出原创 2016-06-24 00:06:08 · 344 阅读 · 0 评论 -
1032. 挖掘机技术哪家强(20) PAT 乙级
问题描述 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式: 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔原创 2016-06-24 00:03:55 · 598 阅读 · 0 评论