![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ题解
OJ题解,助力编程学习
沾花把玖
素有凌云志,我为代码狂
展开
-
C++拦截导弹的多种题型延伸
C++拦截导弹题解原创 2022-07-24 12:20:59 · 557 阅读 · 0 评论 -
C++最短路径问题(用多种算法解决)
C++最短路径问题题解原创 2022-07-23 21:17:41 · 3299 阅读 · 0 评论 -
问题解决:【OJ1276】sequence
题目描述:小Z手上有一个长度为n的整数序列a1, a2,…,an,但是他不太喜欢这个序列,因此他想通过一些操作将序列a变成自己想要的序列b。初始时序列b是空的,接下来小Z将依次进行n次操作,其中第i次操作分为以下两步:1. 将ai加到序列b的尾部;2. 翻转序列b(即b1,b2,…,bi变成bi,bi-1,…,b1 )。小Z想知道n次操作之后序列b会是什么样的,你能帮助他吗?原创 2022-03-02 13:07:05 · 1030 阅读 · 1 评论 -
问题解决:【OJ1642】部分背包
题目描述:给定一个能装最大重量为m的背包和N种食品,这n种食品如食盐,白糖,大米等可以部分取过来想取多少就取多少。已知第i种食品的最多拥有wi公斤,其商品价值为vi元/公斤,编程确定一个装货方案,使得装入背包中的所有物品总价值最大。输入:第一行两数n和m,分别表示食品种类和背包容量。接下来n行,每行两个数wi和vi,分别表示第i种食品的最多拥有重量和价值。输出:一行一个数表示最大价值。样例输入:3 54 23 65 3样例输出:24数据范围:1&原创 2021-12-29 21:11:00 · 709 阅读 · 0 评论 -
问题解决:【OJ1342】判断素数
题目描述:输入一个数,判断它是不是素数,是输出yes,不是输出no。输入:一个正整数n。输出:输出yes或no。样例输入:11样例输出:yes以下是代码:#include<bits/stdc++.h>using namespace std;int main(){ int s=2,n,a=1; cin>>n; while(s<n){ if(n%s==0){ a=s原创 2021-12-30 19:05:13 · 510 阅读 · 0 评论 -
问题解决:【OJ1547】汉诺塔游戏
题目描述:汉诺塔问题(又称为河内塔问题),是一个大家熟知的问题。在A,B,C三根柱子上,有n个不同大小的圆盘(假设半径分别为1-n吧),一开始它们都叠在A塔上(如图所示),你的目标是在最少的合法移动步数内将所有盘子从A塔移动到C塔。游戏中的每一步规则如下:1. 每一步只允许移动一个盘子(从一根柱子最上方到另一个柱子的最上方)2. 移动的过程中,你必须保证大的盘子不能在小的盘子上方(小的可以放在大的上面,最大盘子下面不能有任何其他大小的盘子)如对于n=3的情况,一个合法的移动序列式原创 2021-12-28 22:37:52 · 215 阅读 · 0 评论 -
问题解决:【OJ1657,1658】大整数加法,大整数减法(高精度)
【OJ1657】大整数加法题目描述:求两个不超过200位的非负整数的和。输入:有两行,每行是一个不超过200位的非负整数。输出:一行,即相加后的结果。样例输入:2222222222222222222233333333333333333333样例输出:55555555555555555555以下是代码:#include<bits/stdc++.h>using namespace std;string s1,s2;int a[10010]原创 2021-12-29 22:31:39 · 236 阅读 · 0 评论 -
问题解决:【OJ1557】图的m着色
题目描述:给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的。图的m着色问题是对于给定图G和m种颜色,找出所有不同的着色法。对于给定的无向连通图G和m种不同的颜色,编程计算图的所有不同的着色法。输入:第1行有3个正整数n,k 和m,表示给定的图G有n个顶点和k条边,m种颜色。顶点编号为1,2,…,n。接下来的k行中,每行有2个正整数u,v,表示图G 的一条边(u,v)。1≤n≤100原创 2021-12-30 19:55:28 · 555 阅读 · 0 评论 -
问题解决:【OJ1563】接水问题
题目描述:学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1 到 n 编号,i号同学的接水量为 wi。接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j 完成其接水量要求 wj后,下一名排队等候接水的同学 k 马上接替 j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即 j 同学第 x 秒结束时完成接水,则 k原创 2021-12-30 19:34:57 · 688 阅读 · 0 评论 -
问题解决:【OJ1548】八皇后问题(DFS深度优先搜索)
题目描述:要在国际象棋棋盘中放八个皇后,使任意两个皇后都不能互相吃,皇后能吃同一行、同一列,同一对角线上(两个方向的对角线)的任意棋子。现在给一个整数n(n<=92),输出前n种的摆法。输入:输入一个整数n。输出:输出共n行。每行8个数,表示每行所放的列号,每个数输出占4列。样例输入:3样例输出: 1 5 8 6 3 7 2 4 1 6 8 3 7 4 2 5 1 7 4 .原创 2021-12-25 19:42:29 · 320 阅读 · 0 评论 -
问题解决:【OJ1569】数极光(BFS广度优先搜索)
题目描述:小明来到了北极,见到了美丽的极光。极光是一个n行m列的二维数组,有些点发光,有些点不发光,小明想知道极光中有多少个图案。如果两个发光点的距离小于等于2,那么这两个点属于同一个图案。我们定义两个点P(x1,y1),点Q(x2,y2)的距离为abs(x1-x2)+abs(y1-y2)。输入:第一行,两个数n和m,表示行和列。第2行到第n+1行,每行m个字符。如果字符为#,表示发光,其他字符表示不发光。输出:一个行,一个数表示图案个数。样例输入:19 48原创 2021-12-25 21:14:38 · 173 阅读 · 0 评论 -
问题解决:【OJ1255】喝醉的狱卒
题目描述:在一所监狱里有一条长长的走廊,沿着走廊排列着n个牢房,编号为1到n。每个牢房有一个囚犯,而且牢房的门都是锁着的。 一天晚上,狱卒很无聊,于是他就玩起了一个人的游戏。第一轮,他喝了一口威士忌,然后沿着走廊,将所有牢房的门打开。第二轮,他又喝了一口威士忌,然后又沿着走廊,将所有编号为2的倍数的牢房锁上。第三轮,他再喝一口威士忌,再沿着走廊,视察所有编号为3的倍数的牢房,如果牢房是锁着的,他就把它打开;如果牢房是开着的,他就把它锁上。他如此玩了n轮后,喝下最后一口威士忌,醉倒了。 当他醉倒后,一些犯原创 2021-12-26 22:37:03 · 1520 阅读 · 0 评论 -
问题解决:【OJ1576】字符串变换(BFS广度优先搜索)
题目描述:已知有两个字串A$, B$及一组字串变换的规则(至多6个规则): A1$ -> B1$ A2$ -> B2$规则的含义为:在A$中的子串A1$可以变换为B1$、A2$可以变换为B2$…。 例如:A$='abcd' B$='xyz'变换规则为: ‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’则此时,A$可以经过一系列的变换变为B$,其变换的过程为: ‘abcd’->‘xu...原创 2021-12-25 20:20:56 · 122 阅读 · 0 评论 -
问题解决:【OJ1400】二分查找
题目描述:给出有n个元素的由小到大的序列,请你编程找出每次询问的某元素第一次出现的位置,共询问m次。(n<=2,000,000,m<=100,000,序列中的数值均小于105)输入:一个整数n,表示由小到大序列元素个数;第二行有n个整数;第三行一个整数,表示询问的次数m;接着有m行,每行一个整数x,表示待查找的元素。输出:针对每次询问,如果x在序列中,则输出x第一次出现的位置,否则输出-1。每个询问单独输出一行。样例输入:53 5 6 6 71原创 2021-12-26 22:19:11 · 1164 阅读 · 0 评论 -
问题解决:【OJ1582】敌人入侵
题目描述:有一个城市是宽度为x,高度为y的网格图,(1,1)是左下角的格子。敌人刚开始占领了(sx,sy)格子,每天会攻占8个方向(上下左右,左上左下,右上右下)有人居住的所有格子。1天之后,又可以从这些被攻占的格子攻占其他格子。敌人想知道,多少天可以把该城市有人的地方都被攻占(数据保证都会被攻占)。城市地图中,"."表示有人居住,而"*"表示没有人居住。样例如下,这个宽度x=4,高度y=3的地图。......*..**.坐标表示如下(跟平面直角坐标系一样):(1,3)(2,3)(3原创 2021-12-25 21:21:09 · 82 阅读 · 0 评论 -
问题解决:【OJ1273】数学课
题目描述:求ax+b=0的解。输入:共有三组数据。三行,每行两个整数,a,b。输出:共有三组数据。若有一个实数解,输出x=你求出的解,四舍五入保留3位小数,正负号要保留。若无实数解,输出No Solution。若有无限组解,输出Infinite Solutions。样例输入:1 -14 -37 16样例输出:x=1.000x=0.750x=-2.286数据范围:对于100%的数据,∣a∣,∣b∣≤109。以下...原创 2021-12-25 21:29:10 · 761 阅读 · 0 评论 -
问题解决:【OJ1556】任务调度(DFS深度优先搜索)
题目描述:假设有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为ti。试设计一个算法找出完成这n个任务的最佳调度,使得完成全部任务的时间最早。对任意给定的整数n和k,以及完成任务i需要的时间为ti,i=1~n。编程计算完成这n个任务的最佳调度。输入:第一行有2个正整数n和k。第2行的n个正整数是完成n个任务需要的时间。1≤n≤20,1≤k≤6。输出:计算出的完成全部任务的最早时间。样例输入:7 32 14 4 16 6 5 3样例输出:..原创 2021-12-25 20:01:08 · 413 阅读 · 0 评论 -
问题解决:【OJ1277】输出亲朋字符串
题目描述:编写程序,求给定字符串s的亲朋字符串s1。亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最 后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。输入:输入一行,一个长度大于等于2,小于等于2000的字符串。字符串中每个字符的ASCII值不大于63。.原创 2021-12-25 19:17:22 · 176 阅读 · 0 评论 -
问题解决:【OJ1209】数字统计
题目描述:请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。输入:输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。输出:输出共 1 行,表示数字 2 出现的次数。样例输入:2 22样例输出:6以下是代码:#include<bits/stdc++.h>u原创 2021-12-25 19:28:21 · 324 阅读 · 0 评论