
C++
文章平均质量分 56
zjsru_Beginner
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 1068 parencondings
模拟以及栈的应用原创 2022-08-10 16:42:32 · 526 阅读 · 1 评论 -
主脑提示( Master-Mind Hints )
主脑提示( Master-Mind Hints )原创 2022-08-03 17:46:15 · 1056 阅读 · 0 评论 -
全排列(c++)
给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有'a'原创 2022-07-31 20:38:21 · 779 阅读 · 0 评论 -
gergovia的交易tijie
直线上有nn个等距村庄,每个村庄要么买酒,要么卖酒。设第ii个村庄对酒的需求为AiAi(−1000⩽Ai⩽1000−1000⩽Ai⩽1000),其中Ai>0Ai>0表示买酒,Ai原创 2022-07-30 11:51:32 · 153 阅读 · 0 评论 -
P1192 台阶问题
有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。原创 2022-07-30 09:49:49 · 512 阅读 · 0 评论 -
P1012 [NOIP1998 提高组] 拼数
设有n个正整数a1…an;,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。原创 2022-07-30 09:37:32 · 354 阅读 · 0 评论 -
Ideal Path(UVA - 1599)
给定一个nn个点mm条边的无向图,每条边上都涂有1种颜色。求点11到点nn的一条路径,使得经过的边数最少,在此前提下,经过边的颜色序列最小。输入保证至少存在一条连接11和nn的道路。本题使用了两次bfs,从终点开始的bfs记录每个节点到终点的最短距离,从起点开始的bfs记录颜色字典的最小序,数据使用邻接表存储图存储边的编号,同时用数组下标表示边的编号。从起点开始的bfs要用到第一次bfs的结果。对于bfs访问的标记。...原创 2022-07-23 22:15:14 · 305 阅读 · 0 评论 -
Prime Ring Problem
1:用最简单原始的方法,将数字进行排序,然后进行判断对或者错。(由于数字过于庞大,在12时,代码运行已经很慢了,到16时无法运行。不信的同学可以去试试!)2:使用回溯法,从1开始一个一个进行试验,如果可以就向下进行,拿没有用过的数字进行试验,如果无法成功,则进行回溯。是一个递归的过程。运行的速度会快很多。...原创 2022-07-23 16:24:15 · 192 阅读 · 0 评论 -
poj1521
哈夫曼树的应用原创 2022-07-21 11:41:33 · 848 阅读 · 0 评论 -
A - Play on Words
类似于小时候玩的一笔画问题,我们把输入的每一组单词看成图的一个边,首尾字母看成是一个点,此题即是一道判断欧拉通路的问题了,因为需要判断联通,可以用并查集解决。原创 2022-07-17 01:39:28 · 263 阅读 · 0 评论 -
Unix ls
c++基础题目原创 2022-07-17 00:27:52 · 130 阅读 · 0 评论 -
UVA340 Master-Mind Hints
大致意思就是先给出一个密码,然后再给出几个猜测的密码,算出每个猜测密码和正确密码数字强匹配和弱匹配的个数。当猜测密码的数字和正确密码中的数字数值相同且所处位置相同时即判断为强匹配,当猜测密码的数字和正确密码中的数字数值相同但所处位置不同时则判断为弱匹配。......原创 2022-07-16 21:03:11 · 278 阅读 · 0 评论 -
UVA - 12096 The SetStack Computer
主要使用了C++STL中set、stack、map的相关使用,用map将不同的集合映射到ID中,stack表示整个栈,思路参考了算法紫书P116的相关讲解。原创 2022-07-14 20:47:42 · 186 阅读 · 0 评论 -
P1004 [NOIP2000 提高组] 方格取数
某人从图的左上角的A点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B点共走两次,试找出2条这样的路径,使得取得的数之和为最大。...原创 2022-07-14 21:09:53 · 783 阅读 · 0 评论 -
STL标准模板库(Standard Template Library)一周学习总结
在对STL的学习过程中,我对于容器有了一定的基础认识,容器分为了8个部分+2个操作。原创 2022-07-04 23:59:35 · 207 阅读 · 0 评论 -
七月第一周
骑士移动题目描述:写程序,计算骑士从一个位置移动到另一个位置所需的最少移动次数。骑士移动的规则如下如所示。每一次跳动,都可以有八种选择,经过多次正确选择后可以找到一个最近的路程。算法设计:这是一个求最短距离的问题,可以使用queue进行广度优先搜索步骤,现将起点放入队列,如果队列不空,则对头出对,否则扩展8个方向,如果找到目标,则立即返回步长+1并放入队列,标记其已访问,如果骑士的当前位置为(x,y),则移动时当前位置坐标加上偏移量即可。输入:380 07 0 1000 030 50101原创 2022-07-04 10:10:15 · 131 阅读 · 0 评论 -
LeetCode 1020.飞地的数量(dfs)
题目传送门:1020.飞地的数量题目详情:给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释:有三个 1 被 0 包围。一个 1原创 2022-02-20 22:28:44 · 447 阅读 · 0 评论 -
poj2432环游世界
问题描述: 多年来,FJ在世界各地结交了大量的农民朋友。由于他有一段时间没有拜访来自英格兰的“Farmer Ted”和来自荷兰的“Boer Harms”,他很想去拜访他们。 他知道他的每个世界各地的朋友所居住的农场的经度。该经度是描述农场在地球上的位置的角度(0..359 范围内的整数),我们将其视为圆形,而不是更复杂和传统的球形表示。除了明显的不连续性外,在这个圆圈上顺时针行驶时,经度会增加。 FJ 计划乘飞机去拜访他的 N (1 <= N <...原创 2022-02-20 17:06:23 · 412 阅读 · 0 评论 -
LeetCode10. 正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例 1:输入:s = "aa", p = "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。示例 2:输入:s = "aa", p = "a*"输出:true解释:因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前...原创 2022-02-20 16:50:59 · 215 阅读 · 0 评论 -
百练4152:加法表达式
点此查看原题题解(递归)详细思路见代码块#include<iostream>#include<string>using namespace std;long long num[1000][1000]; //num[i][j]存第i位到第j位组成的数字大小 long long minn(int m,int n); //表示在n个数中插入m个加号的最小值 int main(){ int m; while(cin>>m) { string原创 2022-02-19 19:23:05 · 273 阅读 · 0 评论 -
LeetCode 322.零钱兑换 (动态规划)
题目传送门:322.零钱兑换题目详情:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入..原创 2022-02-13 23:11:44 · 622 阅读 · 0 评论 -
poj2315足球游戏
问题描述:爱丽丝和鲍勃都非常热爱足球,两人都是先锋。他们都擅长足球控制。一场足球比赛后的一天,他们进行了一场有趣的比赛,他们将足球直接射向球门。球门前有N个足球,他们轮流进行这场比赛。例如,如果轮到爱丽丝,爱丽丝可以选择一些足球(足球的数量必须等于或小于 M)并将它们射向前方。由于足球的质量不是很好,足球不是一个完整的球体,只能滚动其周长的整数倍。而且由于他们的摩擦力和力量的限制,他们无法将足球射出超过L厘米的距离。当然,他们知道足球的半径是 R 厘米。爱丽丝和鲍勃非常喜欢这个游戏。如果他们俩都拥有无限原创 2022-02-13 21:47:54 · 2325 阅读 · 0 评论 -
力扣.9回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。我的思路:首先定义一个long类型的变量y来模拟整数x的倒序,(这里为什么要用long类型而不用int类型呢?是因为这里容易遇到有符号整型数溢出的情况),使用一个while循环,将x的低位转换为高位,将x的高位转换为低位赋值给y,最后比较y,x二者是否相等。我的代码:class Solu原创 2022-02-13 21:55:30 · 233 阅读 · 0 评论 -
洛谷P2141珠心算测验
题目描述珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?最近老师出了一些测验题,请你帮忙求出答案。输入格式共两行,第一行包含一个整数n,表示测试题中给出的正整数个数。第二行有n个正整数,每两个正整数之间用一个空原创 2022-02-13 19:41:50 · 679 阅读 · 0 评论 -
洛谷P2089 烧鸡
题目描述猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 10 种配料(芥末、孜然等),每种配料可以放 1到 3 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 n,请输出这 10种配料的所有搭配方案。输入格式一个正整数 n,表示美味程度。输出格式第一行,方案总数。第二行至结束,10个数,表示每种配料所放的质量,按字典序排列。如果没有符合要求的方法,就只要在第一行输出一个原创 2022-02-13 16:14:42 · 462 阅读 · 0 评论 -
浴谷P1012 拼数+P1019 单词接龙 (字符串)
题目一(拼数)设有 nn 个正整数 a_1 \dots a_na1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入格式第一行有一个整数,表示数字个数 nn。第二行有 nn 个整数,表示给出的 nn 个整数 a_iai。输出格式一个正整数,表示最大的整数输入输出样例输入 313 312 343输出 34331213输入 47 13 4 246输出7424613解题思路该题相对来说比较简单,是一个字符串原创 2022-02-13 13:46:40 · 250 阅读 · 0 评论 -
浴古P1020导弹拦截(二分查找)
题目某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是\le 50000≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式1行,若干个整数(个数\le 100000≤1原创 2022-02-12 20:48:42 · 250 阅读 · 0 评论 -
LeetCode 91.解码方法
一条包含字母 A-Z 的消息通过以下映射进行了 编码 :'A' -> "1"'B' -> "2"...'Z' -> "26"要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为:"AAJF" ,将消息分组为 (1 1 10 6)"KJF" ,将消息分组为 (11 10 6)注意,消息不能分组为(1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射中..原创 2022-02-12 19:40:19 · 165 阅读 · 0 评论 -
set-hdu2094“产生冠军”
set容器:set 容器内的元素会被自动排序,set 与 map 不同,set 中的元素即是键值又是实值,set 不允许两个元素有相同的键值。不能通过 set 的迭代器去修改 set 元素,原因是修改元素会破坏 set 组织。当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。题目:Description有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A..原创 2022-02-12 18:17:41 · 131 阅读 · 0 评论 -
poj3122 OpenJudge008 Pie派(二分查找)
点击查看poj原题解题思路可以利用二分查找的思想,假设一个面积值进行判断,如果成立则增大此面积再进行判断,不成立则减小面积,直到找到能成立的最大面积值输出。详细过程讲解看代码段。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;const double pi=3.1原创 2022-02-12 18:15:08 · 351 阅读 · 0 评论 -
LeetCode 704.二分查找
题目描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1代码:class原创 2022-02-11 15:52:44 · 309 阅读 · 0 评论 -
C++PrimerPlus 学习笔记 | 第八章 函数探幽 |3.默认参数 & 4.函数重载
默认参数默认参数是指当函数调用的时候省略了实参自动使用的一个值.// 函数原型void wow(int n = 1);// 如果这样调用函数等价于 wow(1)wow() // == wow(1)对于带有参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为他右边的所有参数提供默认值。实参按从左往右的顺序依次被赋给相应的形参,不能跳过任何参数,也就是说如果要使用某项参数的默认值,则所有在其右边的参数都必须为默认值.以下的原型和调用都是非法的// 函数原型in原创 2022-02-09 10:45:49 · 472 阅读 · 0 评论 -
list-hdu1276“士兵队列训练问题”
链表:由一系列结点(链表中每一个元素称为结点)组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。题目:Problem Description某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。原创 2022-02-07 17:50:49 · 181 阅读 · 0 评论 -
洛谷P1467 循环数
题目描述循环数是那些不包括 00 且没有重复数字的整数(比如 81362)并且还应同时具有一个有趣的性质, 就像这个例子:如果你从最左边的数字开始(在这个例子中 8)向右数最左边这个数(如果数到了最右边就回到最左边),你会停止在另一个新的数字(如果停在一个相同的数字上,这个数就不是循环数)。就像:8 1 3 6 2 从最左边接下去数 8 个数字: 1 3 6 2 8 1 3 6 所以下一个数字是 6重复这样做 (这次从 6 开始数 6 个数字) 并且你会停止在一个新的数字上:2 8 1 3原创 2022-02-06 21:46:24 · 336 阅读 · 0 评论 -
LeetCode 167.两数之和 II-输入有序数组(双指针+二分查找)
题目链接:LeetCode 167.两数之和 II-输入有序数组题目详情: 给定一个已按照 非递减顺序排列 的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 ...原创 2022-02-06 22:02:18 · 705 阅读 · 0 评论 -
力扣2.两数相加(逆序进位)
题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:提示:我的思路:首先对本题进行题目解读,题目的意思:简单来说就是用 链表 表示两个数字,其中链表顺序由头到尾是数字由 个位 到 高位,然后要求你将两个数字相加,结果返回同样类型的链表。我的代码展示:注解:...原创 2022-02-06 18:58:29 · 448 阅读 · 0 评论 -
LeetCode42 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9提示:n == height.length1 <= n &..原创 2022-02-05 21:17:04 · 224 阅读 · 0 评论 -
poj1548机器人
题目描述:贵公司提供的机器人可用于在体育赛事和音乐会后从田间捡拾垃圾。在机器人被分配到工作之前,田野的航拍照片用网格标记。网格中包含垃圾的每个位置都被标记。所有机器人都从西北角开始,在东南角结束运动。机器人只能向东或南两个方向移动。进入包含垃圾的牢房后,机器人将在继续之前将其捡起。一旦机器人到达东南角的目的地,它就不能重新定位或重复使用。由于您的费用与用于特定工作的机器人数量成正比,因此您有兴趣找到可以清洁给定场地的最少机器人数量。例如,考虑图 1 中所示的字段映射,其中行和列的编号如图所示,垃圾位置标有“原创 2022-02-05 19:36:07 · 139 阅读 · 0 评论 -
poj1013 假硬币
描述Sally Jones 有十几个 Voyageur 银元。然而,只有 11 枚硬币是真正的银元;一枚硬币是伪造的,即使它的颜色和大小使其与真正的银元无法区分。假币与其他硬币的重量不同,但 Sally 不知道它比真币重还是轻。幸运的是,莎莉有一个朋友借给她一个非常准确的天平秤。这位朋友将允许莎莉称重三下以找到假币。例如,如果 Sally 将两枚硬币相互称重并且天平保持平衡,那么她就知道这两枚硬币是真实的。现在如果莎莉重一枚真硬币与第三枚硬币之间的天平不平衡,那么莎莉知道第三枚硬币是假币,她可以分别原创 2022-02-05 18:27:29 · 311 阅读 · 0 评论 -
力扣884.两句话中的不常见单词
题目句子是一串由空格分隔的单词。每个单词仅由小写字母组成。如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却没有出现 ,那么这个单词就是 不常见的 。给你两个句子 s1 和 s2,返回所有不常用单词的列表。返回列表中单词可以按任意顺序组织。示例思路对于本题的特殊点,(某个单词在其中一个句子中恰好出现一次,在另一个句子中却没有出现 ,那么这个单词就是不常见的)。我们是不是可以理解成拼接字符串A+B,然后返回拼接后的字符串中只出现过一次的单词呢?C++哈希傻瓜解法原创 2022-01-30 21:33:58 · 829 阅读 · 0 评论