![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++经典算法
qxq_sunshine
持之以恒
展开
-
冒泡排序——C++指针版
#include<iostream> using namespace std; void BubbleSort(int *arr, int len) { for (int i = 0; i < len-1; i++) for (int j = 0; j < len - i - 1; j++) { //如果j>j+1的值,交换数字 if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr.原创 2020-12-13 14:31:15 · 1276 阅读 · 1 评论 -
小明求素数积
描述 小明最近遇到了一个素数题,是给你一个正整数N(2= 输入第一行输入一个正整数T(T 每组数据占一行,输入一个正整数N(2= 输出每组数据输出占一行,输出2~N素数乘积的后六位 样例输入 3 3 6 43 样例输出 6 30 670030 代码实现: #include bool is_primer(int n) {原创 2017-07-23 21:27:03 · 182 阅读 · 0 评论 -
异 形 卵
异 形 卵 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 我们探索宇宙,是想了解浩瀚星空的奥妙,但我们却很少意识到宇宙深处藏匿的危险,它们无时无刻不紧盯着我们的地球。如果外星人拜访我们,结果可能与哥伦布当年踏足美洲大陆不会有什么两样,这是历史,也是现实。 在ZDM-777星球上发现的休眠异形卵,其外表与常见的卵不同,表面被一层石墨覆盖。当人走近时,那层原创 2017-08-01 17:40:49 · 405 阅读 · 0 评论 -
蛇形填数
代码实现: //蛇形填数 //蛇形填数 #include #include #define maxn 20 int a[maxn][maxn]; int main() { int n,x,y,tot=0; scanf("%d",&n); memset(a,0,sizeof(a)); //充分利用了C语言简洁性的优势 tot=a[x=0][y=n-1]=1; whi原创 2017-07-24 19:24:47 · 157 阅读 · 0 评论 -
不高兴的小明
不高兴的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 小明又出问题了。妈妈认为聪明的小明应该更加用功学习而变的更加厉害,所以小明除了上学之外,还要参加妈妈为他报名的各科复习班。另外每周妈妈还会送他去学习朗诵、舞蹈和钢琴。但是小明如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设小明不会因为其它事不高兴,并且她的不原创 2017-08-10 10:26:01 · 265 阅读 · 0 评论 -
小明的调查作业
小明的调查作业 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查,聪明的小明为了实验的客观性,想利用自己的计算机知识帮助自己。他先用计算机生成了N个1到1000之间的随机整数(0<N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的原创 2017-08-10 11:54:43 · 807 阅读 · 0 评论 -
数字1的数量
数字1的数量 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。 输入输入N(0 多组测试数据 输出输出包含1的个数 样例输入 12 样例原创 2017-07-27 14:38:49 · 338 阅读 · 2 评论 -
我和你
我和你 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述将一句话中的所有的“我”换成“你”,“你”换成“我”。 输入多组测试数据 每组给出一句中文,每段少于100个汉字 以单独一个0结束 输出对于每组测试数据,输出替换后的句子。 样例输入 我爱你 我是中国人 1234我 0 样例输出 你爱我 你是中国人 1234你原创 2017-07-27 16:51:56 · 194 阅读 · 0 评论 -
表达式求值
本篇博客思路来自于:https://www.cnblogs.com/xzxj/p/6534998.html,感谢作者 蓝桥杯的题,很经典的题 问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。 输入格式 输入一行,包含一个表达式。 输出格式 输出这个表达式的值。 样例输入 1-2+3*(4-5)转载 2017-11-18 14:10:39 · 255 阅读 · 0 评论 -
全排列问题
//全排列问题 #include int a[10],book[10],n; void dfs(int step) { int i; if(step==n+1) { for(i=1;i printf("%d",a[i]); printf("\n"); return; } for(i=1;i { if(book[i]==0) { a[step]=i; boo原创 2017-12-03 16:47:58 · 232 阅读 · 0 评论 -
火柴棍等式
现手中有m(m 注意: 1、加号与等号各自需要2根火柴棍; 2、如果A不等于B,则A+B=C与B+A=C视为不同的等式(三者均大于0); 3、所有根火柴棍必须全都用上。 思路: 24根除去4根还有20根,而数字1所需火柴棍最少,需2根。则三者中任一数不能超过1111。 只需枚举三者。A中火柴棍数加上B中火柴棍数等于C中火柴棍数,若恰好等于m-4的话,则成功找翻译 2017-12-03 16:50:33 · 307 阅读 · 3 评论 -
Floyd算法
#include int main() { int e[10][10],k,i,j,n,m,t1,t2,t3; int inf=99999999; scanf("%d %d",&n,&m); for(i=1;i for(j=1;j if(i==j) e[i][j]=0; else e[i][j]=inf; //读入边 for(i=1;i { scanf("%d%d%d",翻译 2017-12-03 16:51:27 · 215 阅读 · 0 评论 -
拦截导弹
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。翻译 2017-08-01 12:07:00 · 261 阅读 · 3 评论 -
管闲事的小明
管闲事的小明 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示原创 2017-07-19 19:45:45 · 161 阅读 · 0 评论 -
文章标题
本文转自:码农戎马一生的博客 http://blog.csdn.net/kiwi_berrys/article/details/64444151 非常感谢博主!康托公式(用于解决较大数目的全排列问题) 分类:算法题目蓝桥杯(260) (0) 举报 收藏康托公式 X=an!+an-1!+…+a[i]*(i-1)!+…+a[1]*0! ,其中a[i]为当前未出现的元素中是排在第几个(从0转载 2017-07-23 20:21:23 · 173 阅读 · 0 评论 -
圈水池
圈水池 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述有一个牧场,牧场上有很多个供水装置,现在牧场的主人想要用篱笆把这些供水装置圈起来,以防止不是自己的牲畜来喝水,各个水池都标有各自的坐标,现在要你写一个程序利用最短的篱笆将这些供水装置圈起来!(篱笆足够多,并且长度可变) 输入第一行输入的是N,代表用N组测试数据(1 第二行输入的转载 2017-07-06 20:37:31 · 203 阅读 · 0 评论 -
背包问题
背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。 输入第一行输入一个正整数n(1 随后有n测试数翻译 2017-07-07 17:57:11 · 139 阅读 · 0 评论 -
数的长度
数的长度 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)? 输入首行输入n,表示有多少组测试数据(n 随后n行每行输入一组测试数据 N( 0 输出对于每个数N,输出N!的(十进制翻译 2017-07-09 14:30:06 · 278 阅读 · 0 评论 -
汽水瓶
汽水瓶 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多原创 2017-07-30 16:10:54 · 461 阅读 · 0 评论 -
一种排序
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大); 1.按照编号从小到大排序 2.对于编号相等的长方形,按照长方形的长排序; 3.如果编号和长都相同,按照长原创 2017-07-09 20:23:25 · 154 阅读 · 0 评论 -
会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。 输入第一行是一个整型数m(m 每组测试数据原创 2017-07-18 21:32:26 · 204 阅读 · 0 评论 -
intersection set
intersection set 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述两个集合,你只需要求出两个集合的相同元素,并输出个数。 输入m n {a1 , a2 , a3 , a4 ... ai ... am} {b1 , b2 , b3 , b4 ... bi ... bn} 1 0 多组测试数据 输出一行一个原创 2017-07-31 18:03:38 · 309 阅读 · 0 评论 -
文章标题
阶乘的0时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 计算n!的十进制表示最后有多少个0 输入第一行输入一个整数N表示测试数据的组数(1<=N<=100) 每组测试数据占一行,都只有一个整数M(0<=M<=10000000)输出输出M的阶乘的十进制表示中最后0的个数 比如5!=120则最后的0的个数为1样例输入6 3 60 100 1024 23456原创 2017-07-22 20:19:54 · 155 阅读 · 0 评论 -
文章标题
九的余数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。输入 第一行有一个整数m(1<=m<=8),表示有m组测试数据; 随后m行每行有一个自然数n。 输出 输出n整除九之后的余数,每次输出占一行。 样例输入 3 4 5 465456541 样例输出原创 2017-07-23 19:17:23 · 122 阅读 · 0 评论 -
Binary String Matching
Binary String Matching 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear原创 2017-07-12 20:02:04 · 201 阅读 · 0 评论