- 博客(16)
- 收藏
- 关注
原创 7-2 输出全排列
请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。输入格式:输入给出正整数n(<10)。输出格式:输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a1,a2,⋯,an排在序列b1,b2,⋯,bn之前,如果存在k使得a1=b1,⋯,ak=bk并且ak+1<bk+1。输入样例:3输出样例:123132213231312321..
2022-11-15 09:08:21
1067
原创 7-1 8皇后
会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。。第1行是测试数据的组数n,后面跟着n行输入。
2022-06-10 18:33:38
287
原创 递归de思想
递归的思想递归的基本思想是某个函数直接或者间接地调⽤⾃⾝,这样原问题的求解就转换为了许多性质相同但是规模更⼩的⼦问题。求解时只需要关注如何把原问题划分成符合条件的⼦问题,⽽不需要过分关注这个⼦问题是如何被解决的。递归有三⼤要素第⼀要素:明确你这个函数想要⼲什么对于递归,我觉得很重要的⼀个事就是,这个函数的功能是什么,他要完成什么样的⼀件事,⽽这个,是完全由你⾃⼰来定义的。也就是说,我们先不管函数⾥⾯的代码什么,⽽是要先明⽩,你这个函数是要⽤来⼲什么。例如,我定义了⼀个函数/ /算 n 的.
2022-05-13 19:33:34
457
原创 7-1数字三角形
观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。输入格式:第一个行包含R(1≤ R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100。输出格式:单独的一行,包含那个可能得到的最大的和。输入样例:51311 812 7 266 14
2022-05-13 11:50:54
315
原创 7-2 会场安排
//该题意是所有活动都要上,但是要求在尽可能少的空间里安排活动#include <iostream>#include <algorithm>using namespace std;struct Meet{ int beg; int end; int visited; //所有活动处于初始状态} meet[100];bool cmp(Meet x, Meet y){ //**非常重要,观察题目,注意题目的排列顺序,是按开始时间还是初始时间 if.
2022-05-04 09:21:27
261
原创 7-1 装箱问题
假设有N项物品,大小分别为s1、s2、…、si、…、sN,其中si为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,表示第i项物品的大小)。输出格式:按照输入顺序输出每个物品
2022-05-02 15:57:44
326
原创 7-4 二分查找
#include <iostream>#include <algorithm>using namespace std;int BinarySearch(int s[],int n,int x){ //数组为空时返回值 if(n==0) return 1; //定义区间左值、中值和右值 int low=0,high=n-1; int mid; //当left和right重合时进行最.
2022-05-02 15:56:05
536
原创 全排列(回溯算法)
#include <iostream>using namespace std;int const N=5e5;int a[N],n;int step=1,used[N];void dfs(int step){ if(step>n) { for(int j=1;j<=n;j++){ cout<<a[j]<<" "; } cout<<endl; return; } else for(int i=1;i&l.
2022-01-04 09:44:55
489
原创 剪绳子(分治)
题目描述有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少。输入第一行包含2个正整数N、M,表示原始绳子的数量和需求绳子的数量。第二行包含N个整数,其中第 i 个整数Li表示第 i 根绳子的长度。已知:1≤N,M≤100000, 0<Li<109输出输出一个数字,表示裁剪后最长的长度,保留两位小数。样例输入Copy3 43 5 4样例输出Copy2.5...
2022-01-03 18:20:04
333
原创 java 类与对象理解
package Lt;//类:是对象的抽象化//在类中可以定义成员变量和成员方法,其中变量是描述对象特征,方法是描述对象属性public class Student { String name; int age; String sex; void read(){ System.out.println("大家好,我是"+name+"我今年"+age); }}//对象package Lt;public class Example03 { public sta.
2021-12-27 18:53:07
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人