自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 蓝桥杯算法训练最大的算式DFS

试题 算法训练 最大的算式资源限制时间限制:1.0s 内存限制:256.0MB问题描述  题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如:  N=5,K=2,5个数字分别为1、2、3、4、5,可以加成:  12(3+4+5)=24  1*(2+3)(4+5)=45  (12+3)*(4+5)=45  ……输入格式  输入文件共有二行,

2020-12-26 23:54:17 196

原创 P1605 迷宫DFS优化

题目来源洛谷点这里题目背景给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。题目描述无输入格式第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。输出格式给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。输入输出样

2020-12-17 12:38:59 180

原创 C++N位质数(欧拉筛)

第五次实验 - 副本编程题7. N位质数【问题描述】给定一个整数N(2 <= N <= 8),生成所有的具有下列特性的特殊的N位质数,即其前任意位都是质数。例如,7331即是这样一个4位的质数,因为7、73和733也都是质数。【输入形式】输入一个整数N(2 <= N <= 8)。【输出形式】输出有若干行,每行有一个整数,该整数有N位,而且其前任意位都是质数。并且:1.要求输出所有符合题意的质数。2.从小到大按顺序输出,且所有行上的数字不得重复。【样例输入】2【样例输

2020-12-15 18:27:13 2111 3

原创 C++高精度减法

超长正整数的减法【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的减法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。第一行是超长正整数A;第二行是超长正整数B;【输出形式】输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。【输入样例】234098134098703578230056【输出样例】-1340987035.

2020-12-15 00:51:59 701

原创 最长上升子序列(DP)

第五次实验 - 副本编程题2. 最长升序子串(选做,不计分)【问题描述】输入一行字符串,该字符串只由小写英文字母a-z组成,且其中的字符可以重复,最长不超过10000个字符。从该字符串中按顺序挑选出若干字符(不一定相邻)组成一个新串,称为“子串”。如果子串中每两个相邻的字符或者相等,或者后一个比前一个大,则称为“升序子串”。编程求出输入字符串的最长升序子串的长度。例如,由输入字符串abdbch可以构成的升序子串有:abd、abch、bbch、abbch等。其中最长的升序子串是abbch,其长度为5

2020-12-14 23:08:41 400

原创 C++P1803 凌乱的yyy / 线段覆盖贪心(DP)

题目来源!!有大佬用DP做的我用的贪心等以后学了DP再来补刀#include<bits/stdc++.h>using namespace std;//typedef int long long;int n,ct,End;struct node{ int begin; int end;}a[100010];bool cmp(node x1,node x2){ return x1.end<x2.end; }main(){ scanf("%d",&n)

2020-12-14 19:01:18 271

原创 C++P1303 A*B Problem高精度乘法

题目来源估计没有人比我更菜了吧呜呜呜#include<bits/stdc++.h>using namespace std;char a1[1000001],b1[1000001];int a[1000001],b[1000001],c[1000001];int i,j;int main(){ scanf("%s%s",a1,b1); a[0]=(int)strlen(a1); b[0]=(int)strlen(b1); for(i=1;i<=a[0];i++)a[i]

2020-12-14 01:27:35 210

原创 P1601 A+B Problem高精度加法

题目来源!!!写了3遍了还是不会高精度加法#include<bits/stdc++.h>using namespace std;int a[1000001],b[1000001],c[1000001];char s[1000001],ss[1000001];bool x=false;int i,j;int main(){ scanf("%s%s",s,ss); a[0]=(int)strlen(s); b[0]=(int)strlen(ss); for(i=1;i&l

2020-12-14 00:35:41 120

原创 P5736 【深基7.例2】质数筛

****题目来源点这里从零开始学…#include<bits/stdc++.h>int prime[100001]={1,1};//0表示为素数int n;int a[100];int main(){ for(int i=2;i<100001;i++){ if(!prime[i]){ for(int j=i+i;j<100001;j+=i){ prime[j]=1; } } } scanf("%d",&n); for(int

2020-12-13 23:47:01 186

原创 C++洛谷P1036 选数DFS

题目来源已知 nn 个整数 x_1,x_2,…,x_nx1​ ,x2​ ,…,xn​ ,以及11个整数kk(k<nk<n)。从nn个整数中任选kk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3,44个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+12=223+7+19=293+7+19=297+12+19=387+12+19=383+12+19=343+12+19=34。现在,要求你计算

2020-12-13 02:39:11 625

原创 数组实现多项式相乘

多项式相乘【问题描述】编写一个程序实现两个一元多项式相乘。【输入形式】首先输入第一个多项式中系数不为0的项的系数和指数,以一个空格分隔。且该多项式中各项的系数均为0或正整数,系数和最高幂次不会超过int类型的表示范围。对于多项式 anxn +a n-1 x n-1 + … + a1x1 + a0x0 的输入方法如下:an n a n-1 n-1 … a1 1 a0 0即相邻两个整数分别表示表达式中一项的系数和指数。在输入中只出现系数不为0的项。最后一项的指数后没有空格,只有一个.

2020-12-11 20:25:30 1334 2

原创 动态规划经典例题数字三角形空间优化

点这里–>题目来源洛谷题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 44 5 2 6 5在上面的样例中,从 7 \to 3 \to 8 \to 7 \to 57→3→8→7→5 的路径产生了最大输入格式第一个行一个正整数 rr ,表示行的数目。后面每行为这个数字金字塔特定行包含的整数。输

2020-12-08 21:56:32 211

原创 3069. 网红重庆1最短路径问题SPFA queue 链表

网红重庆1【问题描述】网红城市——重庆,堪称一座8D的魔幻大都市,明明(不要问我明明是谁?)在一楼上的电梯,到了11楼出电梯又是一楼。假设重庆有N个地点,给出各个地点的海拔高度,各个地点之间可能有双向的路径连接,或者单向的路径连接。有一个外地人来重庆,要从地点C到D,但他对爬坡下坎很不习惯,请帮他在从C到D所有路径中,找一条海拔变化(海拔降低或升高都视为正的值)最小的路径,即组成路径的各条直接路径海拔变化的总和最小。【输入形式】输入文件包含多个测试数据。每个测试数据第1行是两个整数N和M,N表.

2020-12-06 21:42:28 331

原创 C++冒泡排序巧解循环移位

循环移位【问题描述】输入整数n,生成一个一维数组,并对该数组进行循环移位输出。【输入形式】输入一个整数,范围1-9【输出形式】输出一个矩阵。矩阵中同一行中的数据与数据之间只有一个空格【样例输入】5【样例输出】0 1 2 3 44 0 1 2 33 4 0 1 22 3 4 0 11 2 3 4 0#include<bits/stdc++.h>using namespace std;void print(int a[],int n){ for(int i=0.

2020-12-05 01:50:35 732

原创 C++12. 魔方阵

魔方阵【问题描述】输入一个自然数N(1<=N<=9),要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位置上的数字从外向中心逐渐增大。N=3时:1111112221123211222111111N=4时:1111111122222112333211234321123332112222211111111【输入形式】从标准输入读取一个整数N。【输出形式】向标准输出打印结果。输出符合要求的方阵,每个数字占一个字符宽度,在每一行末均输出一个回车符。【.

2020-12-05 01:47:52 2393 10

原创 C++13. 最长公共子串

最长公共子串【问题描述】编写一个程序,对输入的字符串s和t,求其最长的公共子字符串。【输入形式】从屏幕分行读入串s和t。s和t由任意字符构成,长度都不超50个字符。输入数据确保只有唯一的最长公共子串。如果没有公共子串,打印No Answer【输出形式】在单独行上输出串s和串t的最长公共子串,在结尾输出一个回车符。算法提示:用一个int型的计数器记录当前匹配长度,用一个字符数组记录当前匹配子串,如果存在更长子串,则进行相应替换。【样例说明】假设从屏幕输入以下内容:aabcdababce.

2020-12-04 21:29:06 1112

原创 C++15. 求两组整数集的“或”集

求两组整数集的“或”集(cexam3b.c)【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。【样例输入】85 1 4 3 8 7 9 645 2 8 10【样.

2020-12-04 21:23:33 2357 2

原创 C++消除游戏

消除游戏【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。现在给定一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子(用数字1-9表示各种颜色的棋子),请给出经过消除后的棋盘。请注意:一个棋子可能在某一行和某一列同时被消除。【输入形式】从标准输入读取数据,第一行包含两个整数n和m,分别表示.

2020-12-03 18:36:20 977

原创 2. C++求两组整数的异或集

求两组整数的异或集【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或")。【输入形式】首先输入第一组整数,以一个空格分隔各个整数;然后在新的一行上输入第二组整数,以一个空格分隔,行末有回车换行。【输出形式】按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数)。【样例输入】5 1 4 32 8 7 9 -65 2 87 10 1.

2020-12-02 21:27:38 3771 3

原创 .C++整数的N进制字符串表示

. 整数的N进制字符串表示【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为’-’。b为大于1小于37的任意自然数值。当b=2时,输出字符只可能是’0’和’1’;当b=16时,输出字符串中可能含有字符为’0’-’9’,’a’-’f’(字母以小写输出)。b还可以是其它数值。比如输入n=33,b=17,

2020-12-01 01:24:09 828

原创 C++合并有序数组

合并有序数组【问题描述】编写一个程序,将两个元素从小到大有序的一维数组归并成一个有序的一维数组。【输入形式】用户在第一行输入第一个有序数组的元素数目,以回车结束此输入。然后在第二行按照刚才输入的元素数目依次输入数组元素,中间用空格分隔,最后用回车结束输入。第三行和第四行只需重复刚才的步骤,将第二个有序数组也输入即可。输入时候一定是有序输入的,即数组元素已经按照从小到大顺序排列。【输出形式】程序将两个有序一维数组合并为一个有序数组并按照从小到大顺序输出。每个元素输出时用空格分隔,最后一个输出之后没有空格

2020-12-01 01:19:18 4045 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除