自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(725)
  • 资源 (4)
  • 收藏
  • 关注

原创 上海计算机学会2024年5月月赛C++乙组T3对折券

小爱有 m 张对折券,对每件商品,可以使用任意多张对折券,效果是叠加的。若一件商品原价是 A,对该商品使用 k 张对折券后,则该商品的价格将变成 ⌊2kA​⌋。其中 ⌊⌋是向下取整的意思。小爱需要将 n 件商品全部买回家,其中第 i 件商品的价格为 ai​。请计算应该如何分配这些对折券才能使得打折后的商品总价之和变得最小。内存限制: 256 Mb时间限制: 1000 ms。

2024-05-09 13:53:33 777

原创 上海计算机学会2024年5月月赛C++乙组T2最长公共子序列

子序列,是由原字符串的全部或部分字符组成的新序列,这些字符在原序列中不必连续,但要保持在原序列中的顺序。空序列也是一种子序列。给定两个字符串 s 与 t,请输出它们最长的公共子序列的长度。所谓最长公共子序列,就是所有公共子序列中最长的子序列。所谓公共子序列,就是 s 与 t 共同拥有的子序列。内存限制: 256 Mb时间限制: 1000 ms。设 n 表示 s 的长度,m 表示 t 的长度。

2024-05-09 13:41:50 324

原创 上海计算机学会2024年5月月赛C++乙组T1蜜蜂与幼虫

如果 n 是偶数,则每一排分别有 n/2 个格子,若 n 是奇数,则下排比上排多一个。一只成虫占i和i-2格子,一只成虫占i-1格子和i-3格子,a[i-4];一只成年的蜜蜂,会占据两个相邻的格子,而一只蜜蜂的幼虫只能占据一个格子。所以a[i]=a[i-1]+a[i-2]+a[i-3]+a[i-4];一只成虫占i和i-2格子,一只幼虫占i-1格子,a[i-3];内存限制: 256 Mb时间限制: 1000 ms。一只成虫占i和i-1格子,a[i-2];只有一个幼虫, a[i-1];对于第i个格子,a[i]

2024-05-09 13:37:52 535 1

原创 上海计算机学会2024年5月月赛C++丙组T5棋盘问题(二)

左下到右上的斜线,对于所有的第一个皇后,有0+1*2+2*3+...(n-1)*n+(n-1)*n+...+3*2+2*1+0,求和公式为2*n*(n-1)*(n-2)/3+(m-n+1)*n*(n-1);给定一个 n∗m 的棋盘,你需要在棋盘上放置黑白两个不同的皇后,请问有多少种放置方法能够使两个皇后之间互相不能攻击对方?一类是直线,即跟第一个皇后同行或者同列,对于这类,第一个皇后的每种放法中,有m+n-1个位置是不能放置的。对于这两个位置,第二个皇后各有一个位置不能放,1*2。

2024-05-09 13:27:22 715 1

原创 上海计算机学会2024年5月月赛C++丙组T4距离之和

解析:x和y可以分开算,都从小到大排序,当前数跟它前边所有数的距离可以用前缀和算出来。设 (x,y) 与 (x′,y′) 是平面上的两个点的坐标,它们之间的城市距离定义为。内存限制: 256 Mb时间限制: 1000 ms。给定 n 个点,请计算任意两点的城市距离之和。

2024-05-09 12:46:34 451

原创 上海计算机学会2024年5月月赛C++丙组T3发牌

有 n 张牌,在一开始,牌是整理好顺序的,从牌堆顶部开始向下数,第 i 张牌的编号为 i。内存限制: 256 Mb时间限制: 1000 ms。请按照顺序输出玩家收到的牌编号。

2024-05-09 12:38:49 229

原创 上海计算机学会2024年5月月赛C++丙组T2流水账

虽然她记住了每天的收支情况,但她忘了盘查自己在最开始有多少钱。请从现有的信息中,推算小爱在记账之前,至少拥有多少钱。小爱记录了连续 n 天的开销情况:正数表示当天有收入,负数表示当天有支出。内存限制: 256 Mb时间限制: 1000 ms。注意小爱在任何时候拥有的现金数额不会成为负数。

2024-05-09 12:35:28 310

原创 上海计算机学会2024年5月月赛C++丙组T1加法的进位

给定两个整数 a 与 b,请计算在十进制加法过程中,a+b 产生了多少次进位。内存限制: 256 Mb时间限制: 1000 ms。

2024-05-09 12:10:22 292

原创 2024年3月青少年C/C++软件编程(二级)等级考试试卷及答案解析

202403C 语言二级真题编程题。

2024-04-29 11:01:28 1208

原创 上海计算机学会2024年4月月赛C++丙组T5数字迷宫

给定一个 n×m 的网格数字迷宫,每个网格上有一个数字,第 i 行、第 j 列网格上的数字为 a(i,j)​ ,表示走到这个格子后,下一次移动可以往上下左右任一方向走 a(i,j)​ 格。接下来的第 2 行至第 n+1 行,每行 m 个数字,用空格隔开,其中第 i+1 行、第 j 列的数字表示 a(i,j)​。请问,若从网格左上角 (1,1) 位置走到右下角 (n,m) 位置,最少需要走多少次?输出一个整数,表示最少步数,若无法达到右下角,则输出。内存限制: 256 Mb时间限制: 1000 ms。

2024-04-25 07:51:42 387

原创 上海计算机学会2024年4月月赛C++丙组T4排序分数

内存限制: 256 Mb时间限制: 1000 ms。

2024-04-25 07:47:43 687

原创 上海计算机学会2024年4月月赛C++丙组T3交换的次数

给定一个只由 0 与 1 构成序列,不断扫描序列,如果发现有一个 1 与一个 0 相邻,且 1 在前,0 在后,就交换它们的位置。不断进行调整直到将所有的 0 都在序列的前一半,所有的 1 都在序列的后一半为止。因为只有0和1,每个零只要计算它前边有几个1就可以了,时间复杂度O(N)。也可以使用归并排序求逆序对,时间复杂度O(NlogN)。内存限制: 256 Mb时间限制: 1000 ms。可以使用冒泡排序 ,时间复杂度O(N^2)。请计算需要进行多少次交换才能完成调整。设 n 表示序列的长度,

2024-04-25 07:39:32 528

原创 上海计算机学会2024年4月月赛C++丙组T2子序列的判定

给定一个字符串 p 及另一个字符串 t,请判断 p 是否是 t 的一个子序列。子序列就是字符串中保持原本顺序但不必连续的字符序列。遍历t字串,按顺序找p中的字符,如果都找到了,输出Yes,否则输出No。内存限制: 256 Mb时间限制: 1000 ms。

2024-04-25 07:32:27 391

原创 上海计算机学会2024年4月月赛C++丙组T1最大公约数

给定两个整数 a 与 b,请求出它们的最大公约数。所谓最大公约数就是 a 与 b 共有的约数中最大的一个。内存限制: 256 Mb时间限制: 1000 ms。

2024-04-25 07:26:54 251

原创 信息学奥赛一本通 1378:最短路径(shopth) 第四章 图论

给出一个有向图G=(V, E),和一个源点v0∈V,请写一个程序输出v0和图G中其它顶点的最短路径。只要所有的有向环权值和都是正的,我们就允许图的边有负值。顶点的标号从1到n(n为图G的顶点数)。共包含n-1行,按照顶点编号从小到大的顺序,每行输出源点v0到一个顶点的最短距离。每行的具体格式参照样例。第2行:一个整数,表示源点v0(v0∈V,v0可以是图G中任意一个顶点)。第1行:一个正数n(2≤n≤80),表示图G的顶点总数。第3至第n+2行,用一个邻接矩阵W给出了这个图。

2024-04-16 18:15:51 265

原创 上海计算机学会2020年11月月赛C++丙组T5搭船

某天早上,船夫在 0 号村庄开始他的工作,当天想要搭船的村民有 n 个,其中第 i 个村民要从 𝑎𝑖ai​ 号村庄搭船到 bi​ 号村庄。显然,同时搭载多名村民,可以减少重复路程。请帮助船夫计算一下,为了把所有村民运到各自的目的地,在当天的工作中,船只最少需要行走多少距离?有一条河,沿河有 m+1 个村庄,按照次序依次编号为 0 到 m,相邻村庄之间的距离都是1。对于a>b的村民,则需要尽量合并其行程,才能减少行走距离,即进行区间合并。由于船要从0出发,到m收工,所以所有a

2024-04-15 09:06:38 263

原创 上海计算机学会2020年11月月赛C++丙组T4连续拆分

给定一个正整数 n,请找出所有的连续整数拆分方法,注意一种合法的拆分至少需要两项连续的整数。提示2:若b*b+b==x,则b=sqrt(x)。只是需要反向验证一下。提示1:数据类型要用long long ,i*i可能会超int。内存限制: 256 Mb时间限制: 1000 ms。单个整数:表示正整数 n。

2024-04-15 08:47:40 329

原创 上海计算机学会2021年1月月赛C++丙组T5还原序列

给定一个长度为 n 的排列,可以用这个排列定义一个变换。该变换作用于一个长度为 n 的序列,在原序列第 i 号位置的数字,经过变换后将被移动到第 fi​ 号位置。由于 f1​,f2​,⋯,fn​是一个排列,所以其中不会出现两个数字去同一个位置的问题。现在假设一个序列经过 k 次这样的变换后,变成了一个最简单的状态:1,2,3,⋯,n,请还原该序列在变换之前的状态。第二行:n 个整数表示 f1​,f2​,⋯,fn​。内存限制: 256 Mb时间限制: 1000 ms。第一行:两个整数 n 与 k。

2024-04-14 21:34:10 252 1

原创 上海计算机学会2021年1月月赛C++丙组T3寻找页码

这串序列又被称之为连写数。给定一个 0 到 9 之中的单独一位数字 a,请问在这串序列中,第 k 次出现 a,是在哪一页上?以数码 1 为例,第一次出现在第 1 页,第二次出现在第 10 页,第三次和第四次都出现在第 11 页上。内存限制: 256 Mb时间限制: 1000 ms。第一行:两个整数 a 和 k。

2024-04-14 21:31:05 147

原创 上海计算机学会2021年2月月赛C++丙组T5自修教室

有 n 名同学申请使用自修教室,其中第 i 名同学申请从第 si​ 天开始使用,到第 ti​ 天结束时归还。每间自修教室在同一天只能供一名同学使用,则为了满足所有同学的申请,至少需要多少间教室?内存限制: 256 Mb时间限制: 1000 ms。

2024-04-13 18:11:51 345

原创 上海计算机学会2021年3月月赛C++丙组T5安装监控

有一条街道上有 n 家商店,位置坐标分别为x1​,x2​,…社区计划为这条街道安装摄像机,每一台摄像机有一个最大拍摄距离 d,若它被安装在 x 位置,则它可以拍到位于 [x,x+d] 内的所有商店。在位置1建摄像头,覆盖(1,4,6),然后在位置7建摄像头,覆盖(7,9,10),故需要两个摄像头。请你帮助社区计算出最少需要多少台摄像机才可以覆盖整个街道上的所有商店。内存限制: 256 Mb时间限制: 1000 ms。第二行:n 个正整数 x1​,x2​,…单个正整数,表示最少需要的摄像机数量。

2024-04-13 12:11:53 281

原创 上海计算机学会2021年3月月赛C++丙组T4回文子串

有时一个字符串本身并不是一个回文串,但这个字符串的某个子串满足回文串的条件,我们称这个子串为。给定一个字符串 s,请求出 s 中包含的最长的回文子串的长度。内存限制: 256 Mb时间限制: 1000 ms。解析:枚举子串,判断是否回文,找到最大回文子串。单个字符串 s:保证 s 仅由小写字母组成。回文串是指倒置后保持不变的字符串。单独一行:表示最长的回文子串的长度。

2024-04-13 12:04:46 201

原创 上海计算机学会2021年3月月赛C++丙组T3鸢尾花数

所谓鸢尾花数,是指一个正整数的十进制表示中,任意相邻两位的数字之差是一个常数,比如 12345,8642,66666 都是鸢尾花数,而 8910 与 121 不是鸢尾花数。单独一行:表示给定区间内所有的鸢尾花数,以空格隔开。如果该区间内没有鸢尾花数,输出。给定一个区间 [a,b],请找出在 a 到 b 之间的所有鸢尾花数。内存限制: 256 Mb时间限制: 1000 ms。单独一行:两个正整数 a 与 b。

2024-04-13 11:58:37 166

原创 上海计算机学会2021年5月月赛C++丙组T4整除

给定 n 个数字构成的一个多重集合:a1​,a2​,⋯,an​,请求出,其中有多少元素不能被任意一个在集合中的其他元素整除?3,5,13,16均不能被集合中其他数整除,而9可以被3整除。第二行:n 个数字表示 a1​,a2​,⋯,an​。单个自然数:表示集合中不能被其他数字整除的数字个数。内存限制: 256 Mb时间限制: 1000 ms。多重集合是指允许出现多个相等元素的集合。第一行:单个正整数 n;解析:桶排序+埃氏筛。

2024-04-12 16:37:22 232

原创 上海计算机学会2021年6月月赛C++丙组T4降雨统计

据小爱观察,乌云以每分钟1个方格的速度向右移动,乌云到达某地区时,该地区就会有降雨过程,乌云离境后,降雨停止。输出共n行,每行m个数字,用空格隔开,第i行第𝑗j个数字表示(i,j)方格对应地区的总降雨时间。(1,4)地区在t=1时刻下雨(乌云由(1,3)向右飘来),而后不再下雨,总降雨时间为1。现给定t=0时刻时,每个地区上空天气情况,请你帮小爱统计每个地区的降雨时间。(1,1),(1,2)两区域没有乌云过境,不会下雨,总降雨时间为0。(1,3)地区在t=0时下雨,而后不再下雨,总降雨时间为1。

2024-04-12 15:47:21 223

原创 上海计算机学会2021年6月月赛C++丙组T2打印B型

给定一个整数 n,n 表示期望的字形大小。请输出一个由星号组成的,对应大小的B字形图案。该字形由 2n+1 行组成,具体请参考样例。打印出一个形如大写字母B的图案。内存限制: 256 Mb时间限制: 1000 ms。共 2n+1 行,表示一个B字形图案。单个整数:表示 n。

2024-04-12 15:42:56 275

原创 上海计算机学会第五届上海市青少年算法竞赛T6位置互换

问题2:这个问题发生在两人都走向同一个格子的时候,那么特判处理一下,让一个走,一个不走,记录状态即可,需要注意一个走,一个不走有两种情况,都要处理。接下来的第 2 行至第 n+1 行,每行 m 个字符,其中第 i+1 行、第 j 列的字符表示初始时网格 a(i,j)​ 的状态。问题1:两个人走过的位置需要两个坐标,如果用维数组记录走过的位置,则哪怕走过了,只要坐标的组合没出现过,,则不处理,那么没有数据入队,程序提前结束,输出无法完成的信息即可。从样例3可知,可以一个走,一个不走,如何解决?

2024-04-10 14:38:36 2201

原创 上海计算机学会第五届上海市青少年算法竞赛T5最大的余数

给定 n 个数字 a1​,a2​,…,an​,在给定一个整数 m,请从给定的数字中挑选任意多个数字,使得它们的和模 m 的余数尽量大,输出这个最大的余数。内存限制: 256 Mb时间限制: 1000 ms。正解是折半查找,然后再排序,再二分查找,容后补;

2024-04-07 07:58:07 371

原创 上海计算机学会第五届上海市青少年算法竞赛T4夹心饼干

所谓夹心饼干,就是从数列中挑出三个数 ai​,aj​,ak​,满足 i

2024-04-07 07:50:33 550

原创 上海计算机学会第五届上海市青少年算法竞赛T3最大的数字

给定一个十进制整数 n,保证 n 的首位不为 0,你必须删除其中 d 个数字,使得留下的数字最大。请输出留下的最大数。每次删除一位数字,即比它后边那位大的,若没有,删除最后一位。内存限制: 256 Mb时间限制: 1000 ms。

2024-04-07 07:40:33 260

原创 上海计算机学会第五届上海市青少年算法竞赛T2数对排序

由两个自然数组成的一对数称之为有序数对。有序是指数对的第一项与第二项是区别的,例如 (0,1),(1,0) 是不一样的数对。根据规律和为i的在第i+1行,第i行一共i个数对,每行第j个数对是j-1开头,则可以快速找到第k个数对。内存限制: 256 Mb时间限制: 1000 ms。给定一个整数 k,请求出第 k 个数对。按照这个规则排序,前 66 项数对为。

2024-04-07 07:35:15 270

原创 上海计算机学会第五届上海市青少年算法竞赛T1符号译码

可以确定的是,符合编码规则的 01 序列只能对应一种唯一的符号序列。给定一串符合编码规则 01 序列,请还原它对应的符号序列。根据这套编码规则,任意长的标点符号序列可以编码成 01 序列,例如。内存限制: 256 Mb时间限制: 1000 ms。设 b 表示输入数据的长度,则。

2024-04-07 07:28:04 308

原创 信息学奥赛一本通 1377:最优乘车(travel) 第四章 图论

第一行有两个数字M和N(1≤M≤100,1

2024-04-06 11:16:24 296

原创 信息学奥赛一本通 1376:信使(msner) 第四章 图论

战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。指挥部设在第一个哨所。当一个哨所接到信后,这个哨所内的信使们也以同样的方式向其他哨所送信。因为准备充足,每个哨所内都安排了足够的信使(如果一个哨所与其他k个哨所有通信联系的话,这个哨所内至少会配备k个信使)。第2至m+1行:每行三个整数i、j、k,中间用1个空格隔开,表示第i个和第j个哨所之间存在通信线路,且这条线路要花费k天。第1行有两个整数n和m,中间用1个空格隔开,分别表示有n个哨所和m条通信线路,且1≤n≤100。

2024-04-06 10:53:01 326

原创 信息学奥赛一本通 1345:【例4-6】香甜的黄油 第四章 图论

把糖放在一片牧场上,他知道N(1≤N≤500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。给出各头牛在的牧场和牧场间的路线,找出使所有牛到达的路程和最短的牧场(他将把糖放在那)。第N+2行到第N+C+1行:每行有三个数:相连的牧场A、B,两牧场间距(1≤D≤255),当然,连接是双向的。第一行: 三个数:奶牛数N,牧场数P(2≤P≤800),牧场间道路数C(1≤C≤1450)。解析:枚举放糖的牧场,使用福特算法,计算单源(放糖的牧场)最短路径,求出路径和。1345:【例4-6】香甜的黄油。

2024-04-06 10:36:44 318

原创 信息学奥赛一本通 1344:【例4-4】最小花费 第四章 图论

在n个人中,某些人的银行账号之间可以互相转账。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。以下m行每行输入三个正整数x,y,z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费 (z

2024-04-03 15:11:41 204

原创 信息学奥赛一本通 1343:【例4-2】牛的旅行 第四章 图论

对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区的距离 ( 本题中所提到的所有距离指的都是最短的距离 )。考虑如下的两个牧场,图1是有5个牧区的牧场,牧区用“*”表示,路径用直线表示。John将会在两个牧场中各选一个牧区,然后用一条路径连起来,使得连通后这个新的更大的牧场有最小的直径。图1所示的牧场的直径大约是12.07106, 最远的两个牧区是A和E,它们之间的最短路径是A-B-E。现在请你编程找出一条连接两个不同牧场的路径,使得连上这条路径后,这个更大的新牧场有最小的直径。

2024-04-03 14:33:01 408

原创 信息学奥赛一本通 1342:【例4-1】最短路径问题 第四章 图论

若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。平面上有n个点(n

2024-04-03 13:43:39 440

原创 信息学奥赛一本通 1375:骑马修栅栏(fence) 第四章 图论

我们如果把输出的路径看成是一个500进制的数,那么当存在多组解的情况下,输出500进制表示法中最小的一个 (也就是输出第一个数较小的,如果还有多组解,输出第二个数较小的,等等)。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到500标号(虽然有的农场并没有500个顶点)。所有栅栏都是连通的(也就是你可以从任意一个栅栏到达另外的所有栅栏)。

2024-04-03 13:23:56 249

原创 信息学奥赛一本通 1374:铲雪车(snow) 第四章 图论

输入数据的第1行表示铲雪车的停放坐标(x,y),x,y为整数,单位为米。下面最多有100行,每行给出了一条街道的起点坐标和终点坐标,所有街道都是笔直的,且都是双向一个车道。铲雪车可以在任意交叉口、或任何街道的末尾任意转向,包括转U型弯。铲雪车铲雪时前进速度为20 km/h,不铲雪时前进速度为50 km/h。整个城市所有的道路都是双车道,因为城市预算的削减,整个城市只有1辆铲雪车。铲雪车只能把它开过的地方(车道)的雪铲干净,无论哪儿有雪,铲雪车都得从停放的地方出发,游历整个城市的街道。

2024-04-03 11:29:28 295

GESP C++ 等级考试真题及样题,截止24年3月(全).rar

GESP C++ 等级考试真题及样题,截止24年3月(全)

2024-03-18

中国电子学会C语言1级-10级-20190927.pdf

中国电子学会C语言1级-10级-20190927.pdf

2023-12-01

CCF-GESP 等级考试 2023年3月认证C++二级真题 附答案

CCF-GESP 2023年3月认证C++二级真题

2023-03-22

CCF-GESP 等级考试 2023年3月认证C++一级真题 附答案

CCF-GESP 2023年3月认证C++一级真题

2023-03-22

空空如也

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

TA关注的人

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