- 博客(47)
- 收藏
- 关注
原创 P1162 填涂颜色(BFS)
由数字 0 组成的方阵中,有一任意形状的由数字 1 构成的闭合圈。如果从某个 0 出发,只向上下左右 4 个方向移动且仅经过其他 0 的情况下,无法到达方阵的边界,就认为这个 0。接下来 n 行,由 0 和 1 组成的 n×n 的方阵。每组测试数据第一行一个整数 n(1≤n≤30)。闭合圈不一定是环形的,可以是任意形状,但保证。的 0 是连通的(两两之间可以相互到达)。方阵内只有一个闭合圈,圈内至少有一个 0。对于 100% 的数据,1≤n≤30。已经填好数字 2 的完整方阵。
2025-04-07 21:01:36
150
原创 P1332 血色先锋队(BFS)
孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来,以抵抗天灾军团的围剿。可怕的是,他们之中有人感染上了亡灵瘟疫,如果不设法阻止瘟疫的扩散,很快就会遭到灭顶之灾。无需惊讶,你就是那个叛徒。你已经掌握了感染源的位置,任务是算出血色先锋军的领主们感染瘟疫的时间,并且将它报告给巫妖王,以便对血色先锋军进行一轮有针对性的围剿。第 1 行:四个整数 n,m,a,b,表示军团矩阵有 n 行 m 列。接下来 b 行:每行有两个整数 x,y,表示领主的位置在第 x 行第 y 列。
2025-04-07 20:12:11
192
原创 P1443 马的遍历(BFS)
有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。对于全部的测试点,保证 1≤x≤n≤400,1≤y≤m≤400。输入只有一行四个整数,分别为 n,m,x,y。
2025-04-07 13:46:00
118
原创 P1746 离开中山路(BFS)
现在爱与愁大神在 x1,y1 处,车站在 x2,y2 处。现在给出一个 n×n(n≤1000) 的地图,0 表示马路,1 表示店铺(不能从店铺穿过),爱与愁大神只能垂直或水平着在马路上行进。爱与愁大神为了节省时间,他要求最短到达目的地距离(每两个相邻坐标间距离为 1)。第 2 行到第 n+1 行:整个地图描述(0 表示马路,1 表示店铺,注意两个数之间没有空格)。第 n+2 行:四个数 x1,y1,x2,y2。对于 100% 数据,满足 1≤n≤1000。第 1 行包含一个数 n。
2025-04-07 13:14:46
235
原创 P1025 [NOIP 2001 提高组] 数的划分(DFS)
将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。希望能帮助到各位同志,祝天天开心,学业进步!1 个整数,即不同的分法。问有多少种不同的分法。
2025-04-06 23:04:05
150
原创 棋盘问题(DFS)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 kk 个棋子的所有可行的摆放方案数目 CC。
2025-04-06 22:32:11
785
原创 P1596 [USACO10OCT] Lake Counting S(DFS)
一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。约翰想弄清楚他的田地已经形成了多少水坑。给出约翰田地的示意图,确定当中有多少水坑。由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个 N×M(1≤N≤100,1≤M≤100) 的网格图表示。第 2 行到第 N+1 行:每行 M 个字符,每个字符是。输入第 1 行:两个空格隔开的整数:N 和 M。,它们表示网格图中的一排。希望能帮助到各位同志,祝天天开心,学业进步!输出一行,表示水坑的数量。
2025-04-06 21:27:42
163
原创 P1683 入门(DFS)
有的瓷砖可以踩,我们认为是安全的,而有的瓷砖一踩上去就会有喷出要命的毒气,那你就死翘翘了,我们认为是不安全的。你只能从一块安全的瓷砖上走到与他相邻的四块瓷砖中的任何一个上,但它也必须是安全的才行。由于你是黄蓉的朋友,她事先告诉你哪些砖是安全的、哪些砖是不安全的,并且她会指引你飞到第一块砖上(第一块砖可能在任意安全位置),现在她告诉你进入桃花岛的秘密就是:如果你能走过最多的瓷砖并且没有死,那么桃花岛的大门就会自动打开了,你就可以从当前位置直接飞进大门了。注意:瓷砖可以重复走过,但不能重复计数。
2025-04-06 17:48:24
316
原创 P2036 [COCI 2008/2009 #2] PERKET(DFS)
当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。对于 100% 的数据,有 1≤n≤10,且将所有可用食材全部使用产生的总酸度和总苦度小于 1×109,酸度和苦度不同时为 1 和 0。接下来 n 行,每行 2 个整数 si 和 bi,表示第 i 种食材的酸度和苦度。众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。另外,我们必须添加至少一种配料,因为没有任何食物以水为配料的。一行一个整数,表示可能的总酸度和总苦度的最小绝对差。
2025-04-06 15:26:36
259
原创 P1149 [NOIP 2008 提高组] 火柴棒等式(DFS)
给你 n 根火柴棍,你可以拼出多少个形如 A+B=C 的等式?等式中的 A、B、C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 0)。希望能帮助到各位同志,祝天天开心,学业进步!2 个等式为 0+1=1 和 1+0=1。一个整数,能拼成的不同等式的数目。一个整数 n(1≤n≤24)。【输入输出样例 1 解释】【输入输出样例 2 解释】
2025-04-06 14:21:05
344
原创 P1088 [NOIP 2004 普及组] 火星人(DFS)
如果把五根手指――拇指、食指、中指、无名指和小指分别编号为 1,2,3,4 和 5,当它们按正常顺序排列时,形成了 5 位数 12345,当你交换无名指和小指的位置时,会形成 5 位数 12354,当你把五个手指的顺序完全颠倒时,会形成 54321,在所有能够形成的 120 个 5 位数中,12345 最小,它表示 1;这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。
2025-04-06 00:05:29
536
原创 P2089 烤鸡(DFS)
猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!因为他有 10 种配料(芥末、孜然等),每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 n ,请输出这 10 种配料的所有搭配方案。第二行至结束,10 个数,表示每种配料所放的质量,按字典序排列。如果没有符合要求的方法,就只要在第一行输出一个 0。希望能帮助到各位同志,祝天天开心,学业进步!对于 100% 的数据,n≤5000。一个正整数 n,表示美味程度。
2025-04-05 22:38:24
451
原创 P1036 [NOIP 2002 普及组] 选数(DFS)
已知 n 个整数 x1,x2,⋯,xn,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。第二行 n 个整数,分别为 x1,x2,⋯,xn(1≤xi≤5×106)。第一行两个空格隔开的整数 n,k(1≤n≤20,k<n)。例如上例,只有一种的和为素数:3+7+19=29。希望能帮助到各位同志,祝天天开心,学业进步!现在,要求你计算出和为素数共有多少种。输出一个整数,表示种类数。
2025-04-05 21:21:22
304
原创 迷宫(DFS)
【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×nn×n的格点组成,每个格点只有22种状态,和,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为),则看成无法办到。【输入】第1行是测试数据的组数kk,后面跟着kk组输入。
2025-04-03 13:44:48
344
原创 八皇后(递归搜索)
【题目描述】会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。
2025-04-02 22:02:25
251
原创 八皇后问题(DFS)
首先确保每一行只放一个皇后,这时我们就只用考虑第i行的皇后放在第几列就可以了(不能跟其他行的皇后位于同一列和同一对角线上)检验位置是否符合要求,符合则将皇后落下,继续搜索下一个符合要求的位置,直到落完n个皇后,方法数+1。在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。每一行的皇后都有n个选择,(不同行不同列不同对角线)才是正确选择。按给定顺序和格式输出所有八皇后问题的解(见样例)。希望能帮助到各位同志,祝天天开心,学业进步!
2025-04-02 20:41:29
222
原创 LETTERS(DFS)
给出一个row×colrow×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。从左上角作为第一步,开始对其上下左右四个方向开始搜索,若四个方向都已无法搜素或搜索完毕,则回溯。第一行,输入字母矩阵行数RR和列数SS,1≤R,S≤201≤R,S≤20。直到所有路径全部搜索完毕,找到最长的路径(不能出现相同字母)希望能帮助到各位同志,祝天天开心,学业进步!接着输出RR行SS列字母矩阵。最多能走过的不同字母的个数。
2025-04-02 19:17:31
453
原创 大整数乘法(高精度)
每个非负整数不超过 10^2000。给出两个非负整数,求它们的乘积。输入共两行,每行一个非负整数。输出一个非负整数表示乘积。
2025-04-02 00:56:56
378
原创 大整数加法(高精度)
高精度加法,相当于 a+b problem,40% 的测试数据,0≤a,b≤1018。20% 的测试数据,0≤a,b≤109;输出只有一行,代表 a+b 的值。a,b≤10500。
2025-04-01 17:43:25
670
原创 Python基础语法元素(课后程序练习题)
2.3 重量转换程序。按照温度转换程序的设计思路,按照1千克=2.2046磅编写一个公制千克与英制磅的双向转换程序。2.4 实例2的修改。改造代码2.1,绘制一条彩色蟒蛇,即在绘制Python蟒蛇的每个小段时,画笔的绘制颜色会发生变化。提示:将画笔颜色控制函数放到蟒蛇绘制函数附近。 2.6 叠加等边三角形的绘制。使用turtle库中的turtle.fd()函数和turtle.seth()函数绘制一个叠加等边三角形
2025-03-27 01:07:23
564
原创 Python基础语法元素(学习笔记)
表达式由 in 组成,用于判断TempStr中保存的字符串最后一个字符TempStr[-1]是否在一个由'F'或者'f'组成的列表集合中,返回true或false。第1行:input()函数从控制台获得用户输入,返回一个字符串,无论用户输入的是字符还是数字,统一按照字符串类型输出。补充:多参数直接输出,直接输出多个字符串或变量的值,参数之间用逗号分隔,输出后各打印值之间是由一个空格分隔的。['F','f']是一个列表,用来表示一组数据,逗号用于分隔元素,每个元素的类型可以不同,个数也没有限制。
2025-03-26 21:30:29
567
原创 蓝桥杯(路径之谜)------回溯
按习俗,骑士要从西北角走到东南角。有时是可以的,比如上图中的例子。为了方便表示,我们约定每个小格子用一个数字代表,从西北角开始编号: 0,1,2,3 ⋯⋯。第一行一个整数 NN (0≤N≤200),表示地面有 N×N 个方格。本题的要求就是已知箭靶数字,求骑士的行走路径(测试数据保证路径唯一)第二行 N 个整数,空格分开,表示北边的箭靶上的数字(自西向东)第三行 N 个整数,空格分开,表示西边的箭靶上的数字(自北向南)小明冒充 X 星球的骑士,进入了一个奇怪的城堡。输出一行若干个整数,表示骑士路径。
2025-03-23 01:31:24
746
原创 蓝桥杯(N皇后问题)------回溯法
在 N×N 的方格棋盘放置了 N 个皇后,使得它们不相互攻击(即任意 2 个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成 45 角的斜线上。你的任务是,对于给定的 N,求出有多少种合法的放置方法。输入中有一个正整数 N≤10,表示棋盘和皇后的数量。为一个正整数,表示对应输入行的皇后的不同放置数量。
2025-03-22 22:32:23
309
原创 0/1背包问题(回溯法)
0/1背包问题。给定一载重量为W的背包及n个重量为wi、价值为vi的物体,1≤i≤n,要求重量和恰好为W具有最大的价值。
2025-03-22 21:20:44
187
原创 自然数无序拆分---递归搜索
美羊羊给喜羊羊和沸羊羊出了一道难题,说谁能先做出来,我就奖励给他我自己做的一样礼物(聪羊羊插嘴:无聊!沸羊羊这下可乐了,于是马上答应立刻做出来,喜羊羊见状,当然也不甘示弱,向沸羊羊发起了挑战(聪羊羊插嘴:一切为了美羊羊啊……一丁点儿奖励你们还挑战啊?可是这道题目有一些难度(聪羊羊插嘴:你当美羊羊的礼物那么好拿啊。),喜羊羊做了一会儿,见沸羊羊也十分头疼,于是就来请教了你。这题的解空间树是一颗n叉树,下面是我画的部分分支,比较抽象,大家凑合着看一下哈哈哈!你要加油帮助喜羊羊哦。一个自然数N(N<=100)。
2025-03-22 13:08:23
171
原创 子集和问题---递归搜索
给定n个不同的正整数集合w=(w1,w2,…,wn)和一个正数W,要求找出w的子集s,使该子集中所有元素的和为W。第一行输入n和W,第二行依次输入n个数。每行输出一个符合要求的子集。
2025-03-22 09:58:28
176
原创 P1157 组合的输出---递归搜索
排列与组合是常用的数学方法,其中组合就是从 n 个元素中抽出 r 个元素(不分顺序且 r≤n),我们可以简单地将 n 个元素理解为自然数 1,2,…,n,从中任取 r 个数。所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。这题是我写的第二次,第一层对递归搜索的理解还不是很清楚,所以当时没写写题思路啥的,现在重新写一次!一行两个自然数 n,r(1<n<21,0≤r≤n)。现要求你输出所有组合。
2025-03-21 14:10:28
913
原创 蓝桥杯(班级活动)-----贪心
班上一共有 n 名 (n 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 n 以内的正整数作为 id,第 i 名同学的 id 为 ai。老师希望通过更改若干名同学的 id 使得对于任意一名同学 i,有且仅有另一名同学 j 的 id 与其相同 (ai=aj)。第二行为 n 个由空格隔开的整数 a1,a2,...,an。对于 100% 的数据,保证 n≤10^5。对于 20% 的数据,保证 n≤10^3。输出共 1 行,一个整数。
2025-03-20 00:16:36
224
原创 PTA--- 666(递归搜索)
某天目标完成达成,就在当天的格子里写上数字6,目标没有完全达成就写上一个小于6的数字(0-5),目标超额完成就写上一个大于6的数字(7-9)。记录卡上如果能找到一条长度为3的路径并且路径上的三个数字都大于等于6(这里的路径是指从某个格子出发,可以向左、右、上、下格子移动,并且不能重复经过一个格子),则小明就能得到一个“666”奖励。先输出m行,每行包括n个整数,代表从当前格子出发得到的“666”奖励个数,中间用空格分割,最后一个数字后面不带空格。然后再在下一行输出得到的“666”奖励总数。
2025-03-19 21:44:51
886
原创 组合的输出
排列与组合是常用的数学方法,其中组合就是从 n 个元素中抽出 r 个元素(不分顺序且 r≤n),我们可以简单地将 n 个元素理解为自然数 1,2,…,n,从中任取 r 个数。所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。一行两个自然数 n,r(1<n<21,0≤r≤n)。输出占 3 个场宽的数 x。现要求你输出所有组合。
2025-03-18 23:28:40
189
原创 全排列问题------递归搜索
按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。由 1∼n 组成的所有不重复的数字序列,每行一个序列。希望能帮助到各位同志,祝天天开心,学业进步!每个数字保留 5 个场宽。
2025-03-18 18:27:51
269
原创 递归实现指数型枚举------DFS
从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。希望能帮助到各位同志,祝天天开心,学业进步!对于没有选任何数的方案,输出空行。
2025-03-18 16:59:33
359
原创 蓝桥杯(小明的背包)【0-1背包、完全背包、多重背包--二维、一维】------动态规划
j<w[i]时,不能放入,则dp[i][j]=dp[i-1][j]j>=w[i]时,能放入,但要比较代价如果第i件物品不放入背包,则dp[i][j]=dp[i-1][j]如果第i件物品放入背包,则dp[i][j]=dp[i-1][j-w[i]]+v[i]结合以上,dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])
2025-03-18 01:16:08
698
原创 蓝桥杯(跳跃)------动态规划
例如,如果当前小蓝在第 3 行第 5 列,他下一步可以走到第 3 行第 6 列、第 3 行第 7 列、第 3 行第 8 列、第 4 行第5 列、第 4 行第 6 列、第 4 行第 7 列、第 5 行第 5 列、第 5 行第 6 列、第 6 行第 5 列之一。小蓝可以在方格图上走动,走动时,如果当前在第 r 行第 c 列,他不能走到行号比 r 小的行,也不能走到列号比 c 小的列。小蓝希望,从第 1 行第 1 列走到第 n 行第 m 列后,总的权值和最大。输入的第一行包含两个整数 n,m,表示图的大小。
2025-03-17 00:49:58
723
原创 蓝桥杯(数字三角形)------动态规划
对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。不同之处就是多了一个要求(向左下走的次数与向右下走的次数相差不能超过 1),同样还跟我前面写过的另一题很像,如果你能搞懂这题。输入的第一行包含一个整数 N (1≤N≤100)N (1≤N≤100),表示三角形的行数。数字三角形上的数都是 0 至 100 之间的整数。输出一个整数,表示答案。
2025-03-15 20:36:02
871
原创 求解矩阵最小路径和问题------动态规划
给定一个m行n列的矩阵,从左上角开始每次只能向右或者向下移动,最后到达右下角的位置,路径上的所有数字累加起来作为这条路径的路径和。求所有路径和中最小路径和。
2025-03-15 01:35:26
403
原创 P1880 [NOI1995] 石子合并------动态规划(区间dp)
这题讲的就是环形石子合并,我们只要把石子数组复制一份接到末尾,形成一个2N的数列,就可以模拟环形啦,虽然此时长度变长了,但是我们只要枚举出长度为N的区间最优得分就OK了。在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的 2 堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。第 2 行有 N 个整数,第 i 个整数 ai 表示第 i 堆石子的个数。
2025-03-14 18:29:04
1132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人