算法----6.搜索
ur_ytii
这个作者很懒,什么都没留下…
展开
-
递归实现全排列
问题 A: 【递归入门】全排列[命题人 : 外部导入]时间限制 : 1.000 sec内存限制 : 128 MB题目描述 排列与组合是常用的数学方法。先给一个正整数 ( 1 < = n < = 10 )例如n=3,所有组合,并且按字典序输出:1 2 31 3 22 1 32 3 13 1 23 2 1输入输入一个整数n( 1<=n<=10)输出输出所有全排列每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有...原创 2021-03-26 22:51:57 · 116 阅读 · 0 评论 -
bfs---最少交换次数
题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1。输入描述:输入包含多组测试数据,每组测试数据由两行组成。第一行为一个整数N,代表字符串的长度(2&原创 2021-03-21 15:37:34 · 390 阅读 · 0 评论 -
dfs---选这个数or不选这个数两条路径
一个数组中有若干正整数,将此数组划分为两个子数组,使得两个子数组各元素之和a,b的差最小,对于非法输入应该输出ERROR。输入描述:数组中的元素输出描述:降序输出两个子数组的元素和示例1输入复制10 20 30 10 1010 20 abc 10 10输出复制40 40ERRORAC代码:#include<cstdio>#include<stdlib.h>#include<iostream>#incl原创 2021-03-20 10:29:56 · 129 阅读 · 0 评论 -
dfs背包问题
#include<cstdio>#include<algorithm>#include<string>#include<queue>#include<iostream>using namespace std;const int maxn=30;int n,V,w[maxn],c[maxn],res=0;void dfs(int index,int sumW,int sumC){ if(index==n){//死胡同,到头了.原创 2021-01-17 10:09:47 · 133 阅读 · 0 评论 -
BLMOOC4001抓住那头牛(广搜)
总时间限制:2000ms内存限制:65536kB描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地...原创 2019-08-22 10:45:17 · 111 阅读 · 0 评论 -
BLMOOC1077 八数码(广搜)
总时间限制:5000ms内存限制:65536kB描述The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a numbe...原创 2019-08-22 11:02:13 · 130 阅读 · 1 评论