算法
南星774
这个作者很懒,什么都没留下…
展开
-
蓝桥杯-蚂蚁感冒
题目长 100100 厘米的细长直杆子上有 nn 只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是 11 厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有 11 只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。输入格式第一行输入一个整数 nn, 表示蚂蚁的总数。接着的一行是 nn 个用空格分开的整数 XiXi, XiXi 的绝对值表示蚂蚁离开杆子左边端点的距离。正原创 2022-03-03 18:10:22 · 246 阅读 · 0 评论 -
蓝桥杯-买不到的数目
题目小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,mn,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数。数据范围2≤n,m≤原创 2022-03-03 18:09:50 · 161 阅读 · 0 评论 -
蓝桥杯-带分数
题目100100 可以表示为带分数的形式:100=3+69258714100=3+69258714还可以表示为:100=82+3546197100=82+3546197注意特征:带分数中,数字 1∼91∼9 分别出现且只出现一次(不包含 00)。类似这样的带分数,100100 有 1111 种表示法。输入格式一个正整数。输出格式输出输入数字用数码 1∼91∼9 不重复不遗漏地组成带分数表示的全部种数。数据范围1≤N<1061≤N<106输入样例1:100输出样例1:原创 2022-03-03 18:09:20 · 484 阅读 · 0 评论 -
蓝桥杯-大臣的旅费
title: 蓝桥杯-大臣的旅费date: 2022-03-03 16:54:09tags: 算法 c++categories: 算法description: 蓝桥杯-大臣的旅费题目:很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣.原创 2022-03-03 18:08:31 · 103 阅读 · 0 评论 -
试题 算法训练 数字游戏
问题描述给定一个1~N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。 例如: 3 1 2 4 4 3 6 7 9 16 现在如果知道N和最后得到的数字sum,请求出最初序列a[i],为1~N的一个排列。若有多种答案,则输出字典序最小的那一个。数据保证有解。输入输出第1行为两个正整数n,sum一个1~N的一个排列样例4 163 1 2 4这是一个深搜的全排列#inc原创 2022-01-28 23:01:14 · 2418 阅读 · 0 评论 -
蓝桥杯 算法训练 印章
蓝桥杯 算法训练 印章共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入输出:一行两个正整数n和m一个实数P表示答案,保留4位小数。样例:2 30.7500这是个dp问题,存在两个变量,印章种类和购买的个数可以使用二维数组来进行模拟dp[m][n] 来表示在购买m个印章的情况下,存在n种印章数的情况对情况进行分析对于dp[i][j]第一种情况 : i < j 即购买的印章小于存在的印章种类 ,概率肯定为0第二种情况:i原创 2022-01-28 22:43:35 · 4648 阅读 · 3 评论 -
Acwing 单链表
题目是 Acwing的单链表原创 2021-09-28 23:14:09 · 103 阅读 · 0 评论 -
2021-09-28 双链表
题目是 Acwing 的 [双链表](https://www.acwing.com/problem/content/829/)原创 2021-09-28 23:07:05 · 97 阅读 · 0 评论 -
洛谷 P1563 玩具谜题
分析题目,很明显可以知道人物可以用数字来表示,将人物的名字单独存在一个数组里面,获取最终人物对应的数字后,即可输出人物的名称,即这道题的答案。这道题可以使用两个二维数组进行数据的存储,但是我觉得一维数组可能会更加简单。所以我使用了4个一维数组,分别存储面朝的方向,人物的名称,移动的方向和移动的距离。同时,对于给出的数据,经过自己的推断可以判断出,给出的方向(0 和 1)与移动的方向(0 和 1)存在一个关系: 当他们两个相加等于 1 的时候 人物对应的下标是要加上移动的距离的 相反,当他们不等原创 2021-08-24 12:42:25 · 285 阅读 · 1 评论 -
洛谷 P2670
欢迎提出改进的意见给出题目链接先获取整个数组然后遍历数组,同时并创建一个新的数组用来存储数据自己写一个函数,用来获取当 ‘?’ 时该位置的周围存在的雷数下面给出我写的代码#include <iostream>using namespace std;const int N = 110;int n,m;char d[N][N];int b[N][N];int sum(char q[][N], int i, int j){ int n = 0;原创 2021-08-24 11:09:16 · 248 阅读 · 0 评论