pat

PAT A1025 PAT Ranking

倾然丶 夕夏残阳落幕 提交于 2020-02-04 00:45:32
PAT A1025 PAT Ranking 自己做的和书上答案大体一致,但在local_ranking问题上卡壳了,菜啊<_> 代码如下: # include <cstdio> # include <cstring> # include <algorithm> using namespace std ; //定义结构体 struct Student { char id [ 15 ] ; int grade ; int place ; int local_rank ; } stu [ 30010 ] ; //排序函数 bool cmp ( Student a , Student b ) { if ( a . grade != b . grade ) return a . grade > b . grade ; else return strcmp ( a . id , b . id ) < 0 ; } int main ( ) { int place , p , num [ 110 ] , n = 0 , sum = 0 ; scanf ( "%d" , & place ) ; for ( int i = 0 ; i < place ; i ++ ) { scanf ( "%d" , & num [ i ] ) ; p = i + 1 ; for ( int j = 0 ; j <

L1-3 宇宙无敌加法器 (20分) java

余生长醉 提交于 2020-02-02 04:22:56
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9] 区间内的整数。理论上这个进制表应该包含无穷多位数字,但从实际应用出发,PAT 星人通常只需要记住前 20 位就够用了,以后各位默认为 10 进制。 在这样的数字系统中,即使是简单的加法运算也变得不简单。例如对应进制表“0527”,该如何计算“6203 + 415”呢?我们得首先计算最低位:3 + 5 = 8;因为最低位是 7 进制的,所以我们得到 1 和 1 个进位。第 2 位是:0 + 1 + 1(进位)= 2;因为此位是 2 进制的,所以我们得到 0 和 1 个进位。第 3 位是:2 + 4 + 1(进位)= 7;因为此位是 5 进制的,所以我们得到 2 和 1 个进位。第 4 位是:6 + 1(进位)= 7;因为此位是 10 进制的,所以我们就得到 7。最后我们得到:6203 + 415 = 7201。 输入格式: 输入首先在第一行给出一个 N 位的进制表(0 << < N ≤

适合初步练习PAT乙级——(1032) 挖掘机技术哪家强

百般思念 提交于 2020-02-02 03:35:58
适合初步练习PAT乙级——(1032) 挖掘机技术哪家强 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第 1 行给出不超过 10 ​5 ​​的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。 输出格式: 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。 输入样例: 6 3 65 2 80 1 100 2 70 3 40 3 0 输出样例: 2 150 # include <iostream> # include <string> # include <vector> using namespace std ; int main ( ) { int N ; cin >> N ; vector < int > a ( N ) ; int num , score ; for ( int i = 0 ; i < N ; i ++ ) { cin >> num >> score ; a [ num ] + = score ; } int max = a [ 1 ] , t = 1 ; for ( int i = 1 ; i < N ; i ++ ) {

PAT乙级1074(C++)——龙哥哥的刷题路

落花浮王杯 提交于 2020-01-31 21:57:19
1074 宇宙无敌加法器 (20分) 地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9] 区间内的整数。理论上这个进制表应该包含无穷多位数字,但从实际应用出发,PAT 星人通常只需要记住前 20 位就够用了,以后各位默认为 10 进制。 在这样的数字系统中,即使是简单的加法运算也变得不简单。例如对应进制表“0527”,该如何计算“6203 + 415”呢?我们得首先计算最低位:3 + 5 = 8;因为最低位是 7 进制的,所以我们得到 1 和 1 个进位。第 2 位是:0 + 1 + 1(进位)= 2;因为此位是 2 进制的,所以我们得到 0 和 1 个进位。第 3 位是:2 + 4 + 1(进位)= 7;因为此位是 5 进制的,所以我们得到 2 和 1 个进位。第 4 位是:6 + 1(进位)= 7;因为此位是 10 进制的,所以我们就得到 7。最后我们得到:6203 + 415 = 7201。 输入格式: 输入首先在第一行给出一个 N

PTA——名人堂与代金券

拟墨画扇 提交于 2020-01-31 02:43:41
PTA——名人堂与代金券 对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。 输入格式: 输入在第一行给出 3 个整数,分别是 N(不超过 10 000 的正整数,为学生总数)、G(在 (60,100) 区间内的整数,为题面中描述的代金券等级分界线)、K(不超过 100 且不超过 N 的正整数,为进入名人堂的最低名次)。接下来 N 行,每行给出一位学生的账号(长度不超过15位、不带空格的字符串)和总评成绩(区间 [0, 100] 内的整数),其间以空格分隔。题目保证没有重复的账号。 输出格式: 首先在一行中输出发出的 PAT 代金券的总面值。然后按总评成绩非升序输出进入名人堂的学生的名次、账号和成绩,其间以 1 个空格分隔。需要注意的是:成绩相同的学生享有并列的排名,排名并列时,按账号的字母序升序输出。 输入样例: 10 80 5 cy@zju

PAT basic 1057 数零壹 (20分) C++

你离开我真会死。 提交于 2020-01-30 01:23:54
一、题目描述 给定一串长度不超过 10 ​5 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。 输入格式: 输入在一行中给出长度不超过 10 ​5 ​​ 、以回车结束的字符串。 输出格式: 在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔。 输入样例: PAT (Basic) 输出样例: 3 4 二、代码 # define _CRT_SECURE_NO_WARNINGS # include <stdlib.h> # include <string> # include <cctype> # include <iostream> using namespace std ; //1057 int main ( ) { string a ; getline ( cin , a ) ; int sum = 0 ; for ( int i = 0 ; i < a . size ( ) ; i ++ ) { if ( isalpha ( a [ i ] ) ) { if ( isupper ( a

PAT-乙级-1033-我要通过!

╄→尐↘猪︶ㄣ 提交于 2020-01-29 12:48:15
题目描述 “ 答案正确 ”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“ 答案正确 ”大派送 —— 只要读入的字符串满足下列条件,系统就输出“ 答案正确 ”,否则输出“ 答案错误 ”。 得到“ 答案正确 ”的条件是: 字符串中必须仅有 P 、 A 、 T 这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“ 答案正确 ”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a 、 b 、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。 现在就请你为 PAT 写一个自动裁判程序,判定哪些字符串是可以获得“ 答案正确 ”的。 输入格式: 每个测试输入包含 1 个测试用例。第 1 行给出一个正整数 n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过 100,且不包含空格。 输出格式: 每个字符串的检测结果占一行,如果该字符串可以获得“ 答案正确 ”,则输出 YES ,否则输出 NO 。 输入样例: 8 PAT PAAT AAPATAA AAPAATAAAA xPATx PT Whatever APAAATAA 输出样例: YES YES YES YES NO NO NO NO 题目信息: 作者: CHEN, Yue 单位: 浙江大学

PAT 乙级 1040 有几个PAT (25分)

独自空忆成欢 提交于 2020-01-28 05:18:17
1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10 ​5 ​​ ,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。 输入样例: APPAPT 输出样例: 2 作者: CAO, Peng 单位: Google 时间限制: 150 ms 内存限制: 64 MB 代码长度限制: 16 KB # include <iostream> using namespace std ; int main ( ) { string input ; cin >> input ; long long ans = 0 , number_p = 0 , number_t = 0 ; for ( int i = 0 ; i < input . length ( ) ; ++ i ) if ( input [ i ] == 'T' ) number_t ++ ; for ( int i = 0 ; i < input . length

pat乙级练习-1003

喜你入骨 提交于 2020-01-27 09:19:48
题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805323154440192 题目: 1003 我要通过! (20分) “ 答案正确 ”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“ 答案正确 ”大派送 —— 只要读入的字符串满足下列条件,系统就输出“ 答案正确 ”,否则输出“ 答案错误 ”。 得到“ 答案正确 ”的条件是: 字符串中必须仅有 P 、 A 、 T 这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“ 答案正确 ”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a 、 b 、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。 现在就请你为 PAT 写一个自动裁判程序,判定哪些字符串是可以获得“ 答案正确 ”的。 输入格式: 每个测试输入包含 1 个测试用例。第 1 行给出一个正整数 n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过 100,且不包含空格。 输出格式: 每个字符串的检测结果占一行,如果该字符串可以获得“ 答案正确 ”,则输出 YES ,否则输出 NO 。 输入样例: 8 PAT PAAT AAPATAA

PAT B

微笑、不失礼 提交于 2020-01-26 19:55:27
PAT B 刷题计划 流感大大推迟了返校时间。 本来没什么学习的想法,闲着实在无事,索性刷一下PAT。 PAT B组 计划刷 两次 第一次 48道 第二次 95道 准备刷两周,第一周一天7题,第二周一天14题。 第一周解题思路不会发出来,第二周会发。 不会做的题就看柳神的blog。 度过一个快乐的寒假O(∩_∩)O 来源: CSDN 作者: qirmcmww 链接: https://blog.csdn.net/qq_34328980/article/details/104088384