- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 CSG 1195:华容道
因为每次移动,初始块都会与空白格交换位置,若进行直线型移动,那么每次移动后到下一格都需要 5 步(原因如上),而阶梯型移动能保证移动方向与块的位置垂直,故只需要 3 步。在一个n × m的棋盘上有n行m列共n × m个格子,其中有且只有一个格子是空白的,其余n × m − 1个格子上各有一个棋子. 每一步可以将空白的格子上、下、左、右相邻的格子上的棋子移动到空白格子上.空白格的移动路径只需直接计算横纵距离绝对值之和即可,若出现需要穿过目标块的移动,则需要在步数上 +2。输出将棋子移动到指定位置的最小步数.
2023-04-03 21:35:11
194
原创 洛谷P1030 [NOIP2001 普及组] 求先序排列 Python题解
原题链接易错点这题的读入非常坑,文件末尾存在\r,因此读入时需要将其转换为列表再遍历。或者也可以直接给print的输出加个特判。下附代码转为列表def dfs(mid, bw): ch = bw[-1] pos = -1 for i in range(0, len(mid)): if mid[i] == ch: pos = i break if pos != -1: print(ch,
2021-09-23 03:26:50
518
1
原创 CF2B The least round way题解
原题传送门洛谷传送门题目大意找出从左上走到右下,且经过的数字的乘积末尾的0最少的路。解题思路由题意可知,需要尽可能少经过含有因数2和因数5的数字,显然用dp求解。需要一个三维数组dp[N][N][2],其中dp[N][N][0]代表的是经过路径乘2的数量,dp[N][N][1]代表经过的路径乘5的数量,由于2*5才会出现0,所以只需要让其中一方尽可能少即可。此外,若矩阵中出现了0,意味着最终的答案最多为1,因为0乘任意数都只会为0,因此,当最终答案比1大时,需要对0进行特判。至于路径只需要在d
2021-09-21 03:00:32
256
原创 PTA天梯赛L2-038 病毒溯源
原题传送门题目病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式输入在第一行中给出一个正整数 N(≤10^4 ),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。随后 N 行,每行按以下格式
2021-04-26 17:42:23
2963
原创 洛谷P2482 [SDOI2010]猪国杀 坑点总结
总结了几个坑点…使用锦囊牌时可能存在跳反或跳忠(打出无懈可击)的情况,一旦出现了有可能要从头检索是否有可使用的杀或决斗装备诸葛连弩时同理;对别人打出决斗自己可能会死,此时需要中断回合;反猪的决斗一定是对主猪用的;主猪杀了忠猪后,弃牌的时候不要忘了诸葛连弩;同时不要忘了此时遍历的手牌已经没了;但是不能直接中断回合,比如忠猪如果死于万箭齐发,那么在它之后还可能有反猪因此死掉,这种情况下主公会摸三张牌,回合仍可能继续;角色死后不要鞭尸,南蛮入侵、万箭齐发等需要遍历玩家的情况记得跳过死者;一有角
2021-03-19 04:15:50
672
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人