
蓝桥杯
小虎仔的csdn
欢迎来到算法的世界
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
L1-039 古风排版 (20 分)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe...原创 2019-03-16 19:06:46 · 166 阅读 · 0 评论 -
方阵旋转
对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵:1 2 3 45 6 7 89 10 11 1213 14 15 16转置后变为:1 5 9 132 6 10 143 7 11 154 8 12 16但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:13 9 5 114 10 6 215 11 7 ...原创 2019-03-12 21:00:29 · 1574 阅读 · 0 评论 -
L1-2 日期格式化
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。输入格式:输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。输出格式:在一行中按照“yyyy-mm-dd”的格式给出年、月、日。输入样例:03-15-2017...原创 2019-03-17 20:19:20 · 236 阅读 · 0 评论 -
L1-044 稳赢
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。输入格式:输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi代表“锤子”、JianDao代表“剪刀”、Bu代表“布”。End代表输入结束,这一行不要作为...原创 2019-03-17 20:32:15 · 205 阅读 · 0 评论 -
L1-3 阅览室
天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪...原创 2019-03-17 20:35:32 · 215 阅读 · 0 评论 -
L1-6 整除光棍
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。...原创 2019-03-17 21:34:26 · 148 阅读 · 0 评论 -
L1-7 装睡 (10 分)
你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。输入格式:输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的...原创 2019-03-17 21:36:57 · 1205 阅读 · 0 评论 -
L1-8 矩阵A乘以B (15 分)
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra 行、Ca 列,B有Rb 行、Cb 列,则只有Ca 与Rb 相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多...原创 2019-03-17 21:38:14 · 944 阅读 · 0 评论 -
L2-1 点赞狂魔 (25 分)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(...原创 2019-03-17 21:43:25 · 849 阅读 · 0 评论 -
Sorting by Subsequences
C. Sorting by Subsequencestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a sequence a1, a2, …, an consisting of different integ...原创 2019-03-12 20:49:06 · 224 阅读 · 0 评论 -
PTAL1-054 福到了(15 分)算法详解与坑点分析
“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N x N 的网格组成的,网格中的元素或者为字符“@”或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为“@”或...原创 2019-03-20 23:34:40 · 1274 阅读 · 0 评论 -
L1-020 帅到没朋友 (20 分)
当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤100...原创 2019-03-20 21:28:52 · 529 阅读 · 0 评论 -
7-1 出生年
以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如...原创 2019-03-16 19:38:54 · 479 阅读 · 0 评论 -
7-2 点赞
7-2 点赞 (20 分)微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1 ⋯FK...原创 2019-03-16 19:45:39 · 457 阅读 · 0 评论 -
7-3 情人节 (15 分)
以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。输出格式:根据点赞情况在一...原创 2019-03-16 19:49:25 · 1826 阅读 · 0 评论 -
7-11 悄悄关注(25 分)
7-11 悄悄关注(25 分)新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个用户i...原创 2019-03-16 20:03:24 · 887 阅读 · 0 评论 -
Table Tennis
B. Table Tennistime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputn people are standing in a line to play table tennis. At first, the first ...原创 2019-03-12 12:15:08 · 792 阅读 · 0 评论 -
pta 5-13 非常弹的球 (30分)
5-13 非常弹的球 (30分)刚上高一的森森为了学好物理,买了一个“非常弹”的球。虽然说是非常弹的球,其实也就是一般的弹力球而已。森森玩了一会儿弹力球后突然想到,假如他在地上用力弹球,球最远能弹到多远去呢?他不太会,你能帮他解决吗?当然为了刚学习物理的森森,我们对环境做一些简化:假设森森是一个质点,以森森为原点设立坐标轴,则森森位于(0, 0)点。小球质量为w/100 千克(kg),重力加...原创 2019-03-16 20:44:09 · 927 阅读 · 0 评论 -
7-13 是否完全二叉搜索树 (30 分
7-13 是否完全二叉搜索树 (30 分)将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数...原创 2019-03-20 20:50:21 · 855 阅读 · 0 评论 -
方格填数
如下的10个格子(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。这个题目题目有点表述不明,不知道0~9 可不可以重复使用。我当时做的时候是当作不可以重复使用来处理的。那么这里我就先当作不可重复...原创 2019-03-12 15:24:57 · 307 阅读 · 0 评论 -
Codeforces 851B - Arpa and an exam about geometr
题意:Arpa正在参加几何考试。这是考试的最后一个问题。你得到了三个点a,b,c。找到一个点和一个角度,如果我们围绕点旋转页面一个角度,a的新位置与b的旧位置相同,并且b的新位置与c的旧位置相同。Arpa怀疑这个问题是否有解(也就是说,如果存在一个点和一个满足条件的角度)。帮助Arpa确定这个问题是否有解决方案。思路:直接判断只要两个线段长度相同而且三个点不在同一直线上就行了。线段长...原创 2019-03-13 12:37:41 · 139 阅读 · 0 评论 -
L2-4 部落 (25 分)
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104 ),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[K]其中K是小圈子里...原创 2019-03-18 13:43:48 · 478 阅读 · 0 评论 -
2017CCCC决赛 L2-3. 图着色问题
图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都...原创 2019-03-18 15:03:23 · 256 阅读 · 0 评论 -
C. 结果填空:连连看(11分)
连连看是一款非常有意思的游戏。我们可以把任意两个在图的在边界上的相同的方格一起消掉,比如把两个 44 消掉以后,每次消掉两个方格的时候,都有会获得一个分数,第 ii次消的分数为 i × 方格的值。比如上面的消法,是第一次消,获得的分数为 1×4=4。请你帮忙最优操作情况下,获得的分数最多为多少。按照图中匹配方式 2 -> 1 > 1 > 2 > 3 &...原创 2019-03-22 16:15:57 · 202 阅读 · 0 评论 -
L2-2 重排链表(25 分)
给定一个单链表 L1 →L2 →⋯→Ln-1→Ln,请编写程序将链表重新排列为 Ln →L1 →Ln-1 →L2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105 )。结点的地址是5位非负整数,NUL...原创 2019-03-19 13:18:29 · 313 阅读 · 0 评论 -
2018 蓝桥杯省赛 B 组模拟赛(五) G. 程序设计:合并数字
蒜头君得到了 nn 个数,他想对这些数进行下面这样的操作,选出最左边的相邻的差的绝对值为 11 的两个数,只保留较小的数,删去较大的数,直到没有两个相邻的差的绝对值为 11 的数,问最多可以进行多少次这样的操作?输入格式输入第一行为一个整数 n(1<=n <=10^5)n(1≤n≤105),表示数字的总数第二行为 n 个整数 x_1,x_2,…,x_n(0 <=xi<...原创 2019-03-22 21:38:02 · 264 阅读 · 0 评论 -
快速幂(递归)
一个数的整数次幂,是我们在计算中经常用到的,但是怎么可以在 O(log(n)) 的时间内算出结果呢?代码框中的代码是一种实现,请分析并填写缺失的代码,求 x^y mod p 的结果。#include <iostream>#include <cstdio>#include <queue>#include <cstring>#include ...原创 2019-03-22 22:49:45 · 675 阅读 · 0 评论 -
E. 代码填空:末尾零的个数(13分)
N! 末尾有多少个 0 呢?N!=1×2×⋯×N。代码框中的代码是一种实现,请分析并填写缺失的代码。#include <iostream>using namespace std;int main() { int n, ans = 0; cin >> n; while (n) { ans += /*在这里填写必要的代码*/;...原创 2019-03-22 22:53:21 · 239 阅读 · 0 评论 -
程序设计:划分整数(计蒜客)(dp)
程序设计:划分整数蒜头君特别喜欢数学。今天,蒜头君突发奇想:如果想要把一个正整数 nn 分解成不多于 kk 个正整数相加的形式,那么一共有多少种分解的方式呢?蒜头君觉得这个问题实在是太难了,于是他想让你帮帮忙。输入格式共一行,包含两个整数 n(1 \leq n \leq 300)n(1≤n≤300) 和 k(1 \leq k \leq 300)k(1≤k≤300),含义如题意所示。输出格...原创 2019-03-23 10:32:11 · 173 阅读 · 0 评论 -
G. 程序设计:合并数字(15)
蒜头君得到了 n 个数,他想对这些数进行下面这样的操作,选出最左边的相邻的差的绝对值为 1 的两个数,只保留较小的数,删去较大的数,直到没有两个相邻的差的绝对值为 1 的数,问最多可以进行多少次这样的操作?输入格式输入第一行为一个整数 n(1≤n≤10^5),表示数字的总数第二行为 n个整数 x1,x2,…,xn(0≤xi≤10^9),表示这些数。输出格式输出一行,为一个整数,表...原创 2019-03-22 23:05:50 · 388 阅读 · 1 评论 -
Tr A
Problem DescriptionA为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。Input数据的第一行是一个T,表示有T组数据。每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。Output对应...原创 2019-03-23 19:07:07 · 879 阅读 · 0 评论 -
B. 结果填空:素数个数(9分)
用 0,1,2,3 … 7 这 8 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。提示:以 0 开始的数字是非法数字。鄙人不才,直接暴力枚举。素数筛表,遍历,检查是否8个数字不重不漏。正确答案:2668#include <iostream>#include <cstdio>#include <cstring>#include ...原创 2019-03-22 15:09:42 · 263 阅读 · 0 评论 -
2018 蓝桥杯省赛 B 组模拟赛(五) A 结果填空:矩阵求和
题目链接: https://nanti.jisuanke.com/t/25084有许多种解法,只要能暴力出来就行,观察题可以发现符合要求的数距离中心点都不超过n/2,所以遍历一遍地图,找出符合条件的点就行了。#include <iostream>#include <cstdio>#include <cstring>#include <cmath&...原创 2019-03-22 14:56:16 · 273 阅读 · 0 评论 -
三、数列求值
给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3 项的和。求第20190324 项的最后4 位数字。思路:改一下求斐波那契数列的代码就行了。(当然不用数组也是可以的)代码:#include <iostream>#include <cstdio>#include <algorithm>#include <c...原创 2019-03-25 19:30:51 · 2112 阅读 · 0 评论 -
Candy Sharing Game
题意:一些学生围着老师坐成一圈,每个人手里有一些糖,老师一吹哨子,学生就将糖分给右手边同学,(同时分)分一半。如果一个学生手里的糖为奇数,则老师给他一个额外的糖,凑成偶数。问老师要吹多少次哨子能使得每个学生手里的糖数量相同。输出吹哨次数与糖的数量。每次吹口哨,先把手中原有的糖分出去一半,在加上另一个人给的糖,如果此时手中的糖是奇数,加一,模拟一遍即可;(注意:先分糖,再接受左边的人给的糖)#i...原创 2019-03-13 14:46:22 · 609 阅读 · 0 评论 -
ACM基础知识储备-快速筛法求素数
求素数是程序设计比赛中经常遇到的问题,最基本的方法是通过素数的定义直接判断,只能被1和它本身整除的数就是素数了。这种方法适合判断单个数是否为素数,当要求一个范围内素数而这个范围又比较大时,这种方法就不太使用了,甚至程序要运行几分钟才能算出结果。筛法的思想是去除要求范围内所有的合数,剩下的就是素数了,而任何合数都可以表示为素数的乘积,因此如果已知一个数为素数,则它的倍数都为合数。普通的线性筛法:...原创 2019-03-21 19:53:51 · 185 阅读 · 0 评论 -
程序设计:找质数
一天蒜头君猜想,是不是所有的偶数(除了 22),都可以用两个质数相加得到呢?于是聪明的蒜头君就找你来验证了。输入格式第一行输入一个整数 tt 表示测试组数。接下来 tt 行,每行一个整数 nn。输出格式输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。数据范围对于 30%30% 的数据 1 \le t \le 10^31≤t≤103。对于 60...原创 2019-03-21 20:45:23 · 1397 阅读 · 0 评论 -
背包问题
此题通过读题可以得出是一个 01 背包问题,在 N 件物品取出若干件放在容量为 W 的背包里,每件物品的体积为 W1,W2……Wn(Wi 为整数),与之相对应的价值为 P1, P2……Pn(Pi为整数)。求背包能够容纳的最大价值。并且数据量也比较少,不存在什么超范围的问题,属于 01 背包的入门题目。#include <algorithm>#include <iostream...原创 2019-03-13 15:10:21 · 202 阅读 · 0 评论 -
方格填数 另一种解法
这是一个全排列问题(全排列就是求一组数据的所有排列,例如 abc 的全排列为 abc、acb、bac、bca、cab、cba)。首先用数组 maze[] 的下标表示图中的十个方格(例如 maze[0] 代表第一个方格,如下图)。根据题意,abs(maze[0]-maze[1])!=1, abs(maze[0]-maze[3])!=1, abs(maze[0]-maze[4])!=1…(大家都...原创 2019-03-13 15:19:36 · 398 阅读 · 0 评论 -
G. 程序设计:后缀字符串 题库链接
分值: 19一天蒜头君得到 n 个字符串 si,每个字符串的长度都不超过 10。蒜头君在想,在这 n 个字符串中,以 si 为后缀的字符串有多少个呢?输入格式第一行输入一个整数 n。接下来 n 行,每行输入一个字符串 si。输出格式输出 n 个整数,第 ii 个整数表示以 si 为后缀的字符串的个数。数据范围对于 50% 的数据,1≤n≤10^3。对于 100% 的数据...原创 2019-03-21 21:08:10 · 241 阅读 · 0 评论