分类: 搜索

4 篇文章

NENUOJ 之 算法2搜索E
前言 这一章是搜索相关,搜索需要有很强的“转移”的意识,你要能把题目变成一颗“树”,然后在这棵”树“上完成你的搜索。 搜索和动态规划是相似的,想办法分类讨论+分解吧~ E001 数的划分 题目描述 将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5;1,5,1;5,…
NENUOJ 之 算法2递归A
前言 考虑到进入大二上了,所以代码主要以C++的形式给出,倘若读者擅长使用C语言,影响也不会很大~ A001 猴子吃桃 题目描述 猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半另加一个。到第10天早上想再吃时,就只剩下一个桃子了。求第1天共摘了多少个桃子…
2024.1.27 DFS + BFS
A - 棋盘问题 题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述…
2024.1.27 搜索习题
A - 马的遍历 题目: Description 有一个 n×m 的棋盘,在某个点(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 Input 输入只有一行四个整数,分别为 n,m,x,y。 Output 一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。 对于全部的测试点,保证 1≤x≤n≤400,…