自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ljz2015301785的博客

PAT,数据结构,C语言

  • 博客(115)
  • 收藏
  • 关注

转载 PAT(B.1084 外观数列)

1084 外观数列 (20 分)外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比...

2019-02-25 20:34:50 310

原创 PAT(B.1086 就不告诉你)

输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53#include<iostream>using namespace std; int main(){ int A,B; cin>>A>>B; int N =...

2019-02-25 20:29:41 940

原创 PAT(B.1030 完美数列)

1030 完美数列 (25 分)给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤10​5​​ )是输入的正整数的个数,p(≤10​9​​ )是给定的参数。第二行给出 N 个正...

2019-02-22 16:32:33 323

原创 PAT(B.1038 统计同成绩学生)

1038 统计同成绩学生 (20 分)本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过 10​5​​ 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等...

2019-02-22 16:16:16 181

转载 PAT(B.1029 旧键盘)

1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。...

2019-02-22 16:06:17 131

转载 C++find函数相关用法

C++中STL里提供了许多字符串操作的函数,下面是字符串查找方面的部分函数用法简介:1.find()查找第一次出现的目标字符串:#include<iostream>#include<cstdio>using namespace std; int main(){string s1 = "abcdef";string s2 = "de";...

2019-02-22 15:59:57 5927

转载 PAT(B.1089 狼人杀)

1089 狼人杀-简单版 (20 分)以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在...

2019-02-22 15:16:06 298

转载 PAT(B.1064朋友数)

1064 朋友数 (20 分)如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 ...

2019-02-22 15:09:13 166

原创 PAT(B.1078)

1078 字符串压缩与解压 (20 分)文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。...

2019-02-22 14:43:50 272

原创 PAT(B.1093 字符串A+B)

1093 字符串A+B (20 分)给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出 A 和 B,均为长度不超过 10​6​​ 的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的 A 和 B ...

2019-02-22 14:36:27 129

原创 PAT(B.1041考试座位号)

1041 考试座位号 (15 分)每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(...

2019-02-22 14:13:41 159

转载 PAT(B.1092最好吃的月饼)

#include <iostream>#include <vector>using namespace std;int a[1005][105], sum[1005];int main() { int m, n, maxn = 0, total = 0; vector<int> ans; cin >> m >&...

2019-02-20 16:28:34 215

原创 PAT(B.1020月饼)

1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么...

2019-02-20 16:02:49 262

原创 PAT(B.1018锤子剪刀布)

#include<stdio.h>#include<string.h> int main(){ int num,i,draw=0,A_winsC=0,A_winsJ=0,A_winsB=0,B_winsC=0,B_winsJ=0,B_winsB=0; int AW=0,AF=0,BW=0,BF=0; char c1,c2; scanf...

2019-02-20 15:51:02 249

原创 PAT(B.1005继续3n+1的猜想)

卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、...

2019-02-20 15:32:18 146

原创 技术面常见智力题(陆续更新)

1、有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一阵枪响,问:一共死了几条狗?2、一次朋友聚会,大家见面时总共握手45次。如果参加聚会的人和其余的每个人只握手一次,问参加聚会的共有多...

2019-02-18 08:34:45 287

原创 超级马里奥(待完善)

/*1.显示背景2.显示静止的马里奥3.移动的马里奥4.让背景随马里奥的移动而移动5.显示障碍物6.增加马里奥d与障碍物的判断7.增加野怪8.增加背景音乐9.完善代码 */#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>...

2019-02-11 13:33:51 508 2

原创 关于GetAsyncKeyState

首先介绍一下几个概念:按位与运算符"&":是双目运算符,其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:0x11 & 0x12(即0001 0001 & 0001 0010)的结果是0x10(0001 0000);(关于vs取反参考附)虚键:指的是非字母可以明确表示的键.(例如ESC ...

2019-02-11 13:10:18 5017 2

原创 PAT(B1042.字符统计)

1042 字符统计 (20 分)请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计...

2019-02-02 15:34:12 193

转载 PAT(B.1003 我要通过)

#include <iostream>#include <map>using namespace std;int main() { int n, p = 0, t = 0; string s; cin >> n; for(int i = 0; i < n; i++) { cin >> s...

2019-02-02 15:06:54 212

原创 PAT(B.1072 开学寄语)

#include <stdio.h>int main() { int N, M;//学生人数,需要查缴的种类数 scanf("%d %d", &N, &M); int num[M];//物品的编号 for (int i = 0; i < M; i++) { scanf("%d", &num[i]);...

2019-02-02 14:42:19 208

原创 PAT(B.1063 计算谱半径)

1063 计算谱半径 (20 分)在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a​1​​ +b​1​​ i,⋯,a​n​​ +b​n​​ i },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式:输入第一行给出正整数 N(≤...

2019-02-02 13:06:30 110

原创 PAT(B.1061判断题)

1061 判断题 (15 分)判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔...

2019-02-02 12:37:59 133

原创 PAT(B1039.到底买不买)

1039 到底买不买 (20 分)小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1...

2019-02-02 12:10:05 164 3

原创 消砖块

//消砖块#include <conio.h>#include <graphics.h>#include <stdio.h>#include <stdlib.h>#define high 480 //游戏画面尺寸#define width 640#define brick_num 10 //砖块的个数//全局变量int bal...

2019-02-02 01:04:58 862

原创 实时钟表

//实时钟表#include <graphics.h>#include <conio.h>#include <math.h>#include <stdlib.h>#define high 480 //游戏画面尺寸#define width 640#define PI 3.1415926int main(){ initg...

2019-02-01 12:35:33 652

原创 多个小球碰撞

//反弹球之间相互碰撞,碰撞为理想的弹性碰撞,两球相撞之后交换速度#include <graphics.h>#include <conio.h>#include <stdlib.h>#include <math.h>#define high 480#define width 640#define ballnum 15int mai...

2019-01-31 16:36:31 2130

原创 多个反弹球与墙壁碰撞

//多个反弹球和墙壁碰撞#include <graphics.h>#include <conio.h>#define high 480#define width 640#define ballnum 5int main(){ float ball_x[ballnum],ball_y[ballnum]; float ball_vx[balln...

2019-01-29 13:20:43 928 1

原创 EasyX实现反弹球

//利用EasyX反弹球#include <graphics.h> //引用EasyX图形库#include <conio.h>#define high 480#define width 640int main(){ float ball_x,ball_y; float ball_vx,ball_vy; float radius;...

2019-01-29 11:32:57 1514

原创 EasyX入门和介绍

//EasyX入门和介绍//画实心圆#include <graphics.h> //引用EasyX图形库#include <conio.h>int main(){ initgraph(640,480); //初始画布 setcolor(YELLOW); //圆的线条为黄色 setfillcolor(GREEN); //填充色为绿色...

2019-01-29 11:06:21 7768 2

原创 贪吃蛇

//贪吃蛇#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#define high 20 //游戏尺寸#define width 30//全局变量int movedirection; //小蛇移动的方向,上、下、左、右分别为1,...

2019-01-27 15:38:32 280

原创 空战游戏

//空战游戏#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <cwindow.h>#define high 25#define width 50#define enemynum 5//全局变量int position_x,position_y; //...

2019-01-27 00:07:54 682

原创 flappy bird游戏

//flappy bird#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <cwindow.h>//全局变量int high,width; //画面尺寸int bird_x,bird_y; //小鸟坐标int bar1_y,bar1_xdown,bar...

2019-01-26 22:37:33 1260

原创 实现反弹球游戏

//反弹球消砖块#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <cwindow.h>//全局变量int high,width; //游戏画面大小int ball_x,ball_y; //小球坐标int ball_vx,ball_vy; //小球速度...

2019-01-25 22:20:00 1491 1

原创 飞机游戏的代码重构

#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>int high = 30,width = 30;//游戏尺寸int px, py;//飞机位置坐标,x代表纵坐标,y代表横坐标int bullet_x, bullet_y;//子弹坐标...

2019-01-25 21:14:36 540

原创 最简单的飞机游戏

//简单的飞机游戏#include <stdio.h>#include <stdlib.h>#include <conio.h>int main(){ char input; int i,j; int x=5,y=10; int ny=5; //目标位置 int isfire=0; //是否发射子弹 i...

2019-01-24 22:09:57 841

原创 PAT(B1083.是否存在相等的差)

1083 是否存在相等的差 (20 分)给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面...

2019-01-24 20:33:00 117

转载 PAT(B1077.互评成绩)

1077 互评成绩计算 (20 分)在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G​1​​ ;老师给这个组的评分记为 G​2​​ 。该组得分为 (G​1​​ +G​2​​ )/2,最后结果四舍五入后保留整数分。本题...

2019-01-24 15:24:14 193

原创 PAT(B1070.结绳)

1070 结绳 (25 分)给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。rope.jpg给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给...

2019-01-24 14:18:53 143

原创 PAT(B1064.朋友数)

1064 朋友数 (20 分)如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 ...

2019-01-13 19:02:33 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除