自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

六级不考550+不改名

求赞 (~ ̄▽ ̄)~

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

原创 股票买卖(信息学奥赛一本通)

题目描述最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。假设阿福已经准确预测出了某只股票在未来 N 天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。同一天可以进行多次买卖。但是在第一次买入之后,必须要先卖出,然后才可以第二次买入。现在,阿福想知道他最多可以获得多少利润。输入格式输入的第一行是一个整数 T,表示一共有 T 组数据。接下来的每组数据,第一行是一个整

2020-09-29 14:49:37 1017

原创 大盗阿福(信息学奥赛一本通)

题目描述阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?输入格式输入的第一行是一个整数 T,表示一共有 T 组数据。接下来的每组数据,第一行是一个整数 N ,表示一共有 N 家店铺。第二行是 N 个被

2020-09-28 21:18:19 817

原创 数字组合(信息学奥赛一本通)

题目描述有 n 个正整数,找出其中和为 t (正整数)的可能的组合方式。如:n = 5, 5 个数分别为 1, 2, 3, 4, 5,t = 5;那么可能的组合有 5 = 1 + 4 和 5 = 2 + 3 和 5 = 5 三种组合方式。输入格式输入的第一行是两个正整数 n 和 t,用空格隔开,分别表示正整数的个数与要求的和。接下来的一行是 n 个正整数,用空格隔开。输出格式和为 t 的不同的组合方式的数目。输入样例5 51 2 3 4 5输出样例3数据范围1 ≤ n ≤ 20

2020-09-28 19:46:14 600

原创 数的划分(洛谷)

题目描述将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n = 7,k = 3,下面三种分法被认为是相同的。1, 1, 51, 5, 15, 1, 1问有多少种不同的分法。输入格式n, k (6 < n ≤ 200,2 ≤ k ≤ 6)输出格式1 个整数,即不同的分法。输入样例7 3输出样例4题解一DFS:#include <iostream>using namespace std;int n, k, ans;

2020-09-27 20:41:38 675

原创 自然数的拆分

题目描述任何一个大于 1 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。输入格式输入:待拆分的自然数n。输出格式输出:若干数的加法式子。题解DFS:#include <iostream>using namespace std;int n, k, a[10];void dfs(int pre, int

2020-09-27 08:50:59 499

原创 疯狂的采药(洛谷)

题目描述LiYuxiang 是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是 LiYuxiang,你能完成这个任务吗?此题和原题的不同点:1. 每种草药可以无限

2020-09-26 21:45:26 387

原创 装箱问题(洛谷)

题目描述有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数)。要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式1 个整数,表示箱子容量1 个整数,表示有 n 个物品接下来 n 行,分别表示这 n 个物品的各自体积输出格式1 个整数,表示箱子剩余空间。输入样例2468312797输出样例0数据范围0 < n ≤ 300 ≤ V ≤ 20000题解一01背包:有一个数据会超时#include <iostre

2020-09-26 19:06:40 476

原创 开心的金明(洛谷)

问题描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的 N 元。于是,他把每件物品规定了一个重要度,分为 5 等:用整数 1~5 表示,第 5 等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过 N 元(可以等于 N 元)的前提下,使每件物品的价格与重要度的乘积

2020-09-26 18:38:23 195

原创 采药(洛谷)

题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式第一行有 2 个整数 T 和 M,用一个空格隔开,T 代表总共能够用

2020-09-26 17:53:28 1266

原创 红与黑

题目描述有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式包括多组数据。每组数据的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量,W和H都不超过20。在接下来的H行中,每行包括W个字符。每个字符表示一块瓷砖的颜色,规则如下:.:黑色的瓷砖;#:白色的瓷砖;@:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每组数据中唯一出现一次。当在一

2020-09-25 18:50:19 1040 1

原创 马走日

题目描述马在中国象棋以日字形规则移动。请编写一段程序,给定 n × m 大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入格式第一行为整数 T (T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标 n, m, x, y。输出格式每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次。输入样例15 4 0 0输出样例32数据范围m

2020-09-24 22:34:24 601

原创 PAT乙级 ——程序运行时间

问题描述要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间,这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟

2020-09-24 19:10:35 168

原创 PAT乙级 ——划拳

问题描述划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式输入第一行先给出一个正整数 N(≤ 100),随后 N 行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊 乙划其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整

2020-09-23 20:03:33 143

原创 PAT乙级 ——个位数统计

问题描述给定一个 k 位整数,请编写程序统计每种不同的个位数字出现的次数。例如:给定 N = 100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M(要求按 D 的升序输出)输入样例100311输出样例0:21:33:1题解:#include <iostream>#inc

2020-09-23 15:04:26 97

原创 PAT乙级 ——部分 A + B

问题描述正整数 A 的 “DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 P​A。例如:给定 A = 3862767,DA = 6,则 A 的 “6 部分” PA 是 66,因为 A 中有 2 个 6。现给定 A、D​A、B、DB,请编写程序计算 PA + PB。输入格式输入在一行中依次给出 A、D​A、B、D​B,中间以空格分隔,其 0 < A, B < 1010。​​输出格式在一行中输出 P​A + PB 的值。输入样例13862767 6 1353

2020-09-22 20:29:01 110

原创 PAT乙级 ——A + B 和 C

问题描述给定区间 [−231, 231] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式输入第 1 行给出正整数 T (≤ 10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C,整数间以空格分隔。输出格式对每组测试用例,如果 A+B>C,则输出 Case #X: true ,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。样例输入41 2 32 3 42147483647 0 214

2020-09-22 20:01:07 114

原创 PAT乙级 ——组合数的和

问题描述给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字,要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为 330。输入格式输入在一行中先给出 N(1 < N < 10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式输出所有可能组合出来的2位数字的和。样例输入3 2 8 5样例输出330题解:#include <iostream&

2020-09-21 11:42:57 483

原创 PAT乙级 ——组个最小数

问题描述给定数字 0 ~ 9 各若干个,你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式在一行中输出能够

2020-09-21 10:32:59 57

原创 PAT乙级 ——数组元素循环右移问题

问题描述一个数组A中存有 N 个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 M 个位置,即将A中的数据由 A0A1…AN-1 变换为 AN-M…AN-1A0A1…AN-M-1(最后 M 个数循环移至最前面的 M 个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式每个输入包含一个测试用例,第 1 行输入 N(1 ≤ N ≤ 100)和 M(≥ 0)第 2 行输入 N 个整数,之间用空格分隔。输出格式在一行中输出循环右移 M 位以后的整数序列,之间用空格

2020-09-20 10:10:40 124

原创 PAT乙级 ——素数对猜想

问题描述让我们定义dn = pn+1 - pn,其中 pi 是第 i 个素数。显然有d1 = 1,且对于 n > 1 有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数 N(< 105),请计算不超过 N 的满足猜想的素数对的个数。输入格式输入在一行给出正整数N。输出格式在一行中输出不超过N的满足猜想的素数对的个数。样例输入20样例输出4题解埃氏筛法:#include <iostream>using namespa

2020-09-20 09:39:20 79

原创 PAT乙级 ——成绩排名

问题描述读入 n(> 0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式对每个测试用例输出 2

2020-09-19 21:23:11 205

原创 PAT乙级 ——换个格式输出整数

问题描述让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10)换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式每个测试用例的输出占一行,用规定的格式输出 n。样例输入1234样例输出1BBSSS1234样例输入223样例输出2SS123

2020-09-19 17:00:17 102

原创 PAT乙级 ——挖掘机技术哪家强

问题描述为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式输入在第 1 行给出不超过 10​5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。样例输入63 652 801 1002 703 40

2020-09-15 08:35:21 98

原创 PAT乙级 ——数字黑洞

问题描述给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从 6767 开始,将得到:7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174…

2020-09-13 21:55:16 147

原创 PAT乙级 ——数素数

问题描述令 Pi 表示第 i 个素数。现任给两个正整数 M ≤ N ≤ 104,请输出 PM 到 PN 的所有素数。输入格式输入在一行中给出 M 和 N,其间以空格分隔。输出格式输出从 P​M 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例5 27输出样例11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103题解埃氏筛法:#include <

2020-09-06 13:41:30 140

空空如也

空空如也

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

TA关注的人

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