程序
z十一
多看看多学学多分享
展开
-
最大k乘积问题(动态规划)
最大k乘积问题(动态规划)问题描述:设X是一个n位十进制整数,如果将X划分为K段,则可得到K个整数,这K个整数的乘积称为X的一个K乘积。请设计算法并编程实现,对于给定的X 和K,求出X的最大K乘积。输入:X,K,n输出:X的最大K乘积。代码:#include<iostream>#include<fstream>using namespace std;void getnumber(int number[20], int num, int n){ int b = 0原创 2020-12-14 20:55:55 · 1866 阅读 · 0 评论 -
理解动态规划
通过了解契波那契数列学习动态规划问题:斐波那契数列为1、1、2、3、5、8、13、21、34……写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。递归方法:#include<iostream>using namespace std;int dfs(int x){ if (x == 0) return 0; if (x == 1) return 1; if (x >= 2) return f(x - 1) + f(x - 2);}int ma原创 2020-12-12 21:47:28 · 79 阅读 · 0 评论 -
回溯的一些问题
迷宫问题:o表示可以走,1表示不能走。随后输出走出迷宫的选择次数。代码:#include<iostream>using namespace std;int n;int dx[8] = {-1,0,1,1,1,0,-1,-1};int dy[8] = {1,1,1,0,-1,-1,-1,0};int mg[10][10];int c;void dfs(int x,int y){ if (x == n&&y==n) { c++; return;原创 2020-12-10 16:35:30 · 72 阅读 · 0 评论 -
活动选择问题
代码:#include<iostream>#include<algorithm>#define MAXN 100using namespace std;struct A{ int s; int e;}a[MAXN];bool comp(A a, A b){ return a.e <= b.e;}void input(int n){ int i; for (i = 0; i < n; i++) cin >> a[i].s &.原创 2020-12-07 20:36:30 · 217 阅读 · 0 评论 -
PAT月饼题
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入格式原创 2020-12-05 21:50:34 · 100 阅读 · 0 评论 -
棋盘覆盖问题
在一个2^k * 2k(k为正整数,k<=10,length=2k)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格(其坐标为aa,bb,分别代表行坐标号和列坐标号),以及有四种L型骨牌(如下图)。求用若干块这种L型骨牌实现除该特殊点棋盘的全覆盖。(本题要求采用分治算法做)输入格式:输入三个数,分别是aa,bb,length.输出格式:输出整个棋盘。其中特殊方格填为0,然后铺棋盘的顺序为:先铺四个子棋盘交界的部分,然后递归的对每个子棋盘按照左上,右上,右下,左下的顺时针顺序原创 2020-11-29 17:43:41 · 839 阅读 · 0 评论