一本通
文章平均质量分 53
Kochakin
一听就会,一写就废;暴力超时,分治不会……抄的全都对。
展开
-
1367:查找二叉树
【题目描述】已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下:【输入】第一行n为二叉树的结点个树,n<=100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编号,第三列数据是右儿子结点编号。【输出】一个数即查找的结点编号。【输入样例】7155 2 312 4 510 0 029 0 015 6 78 0 0...原创 2022-05-09 20:24:16 · 143 阅读 · 0 评论 -
1324:【例6.6】整数区间
半个月没发文了,发一篇(开学太忙); 【题目描述】请编程完成以下任务:1.读取闭区间的个数及它们的描述;2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数。【输入】首行包括区间的数目nn,1≤n≤100001≤n≤10000,接下来的nn行,每行包括两个整数a,ba,b,被一空格隔开,0≤a≤b≤100000≤a≤b≤10000,它们是某一个区间的开始值和结束值。【输出】...原创 2021-09-12 13:43:38 · 737 阅读 · 0 评论 -
1328:【例7.7】光荣的梦想
【题目描述】Prince对他在这片大陆上维护的秩序感到满意,于是决定启程离开艾泽拉斯。在他动身之前,Prince决定赋予King_Bette最强大的能量以守护世界、保卫这里的平衡与和谐。在那个时代,平衡是个梦想。因为有很多奇异的物种拥有各种不稳定的能量,平衡瞬间即被打破。KB决定求助于你,帮助他完成这个梦想。一串数列即表示一个世界的状态。平衡是指这串数列以升序排列。而从一串无序数列到有序数列需要通过交换数列中的元素来实现。KB的能量只能交换相邻两个数字。他想知道他最少需要交换几次就能使数列有序.原创 2021-08-11 19:52:04 · 1221 阅读 · 0 评论 -
一本通 1335:【例2-4】连通块
【题目描述】一个n × m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该联通块中的其它黑色格子。【输入】第一行两个整数n,m(1≤n,m≤100),表示一个n × m的方格图。接下来n行,每行m个整数,分别为0或1,表示这个格子是黑色还是白色。【输出】一行一个整数ans,表示图中有ans个黑色格..原创 2021-08-10 16:21:50 · 805 阅读 · 1 评论 -
队列相关知识(详细文本 附代码)
(1)——Queue <int> q1-创建了一个q1队列(2)——q1.push(E)-放入队列(3)——q1.front(E)-返回引用头元素,不移除(4)——q1.back(E)-返回引用尾元素,不移除(5)——q1.pop(E)-从队列中移除元素,但不返回...原创 2021-08-09 18:33:39 · 237 阅读 · 2 评论 -
1332:【例2-1】周末舞会
#include<bits/stdc++.h>using namespace std;int m[10000],w[10000];int t1=1,t2=1,r1,r2,ans1,k,n,x;int main(){ cin>>n>>x>>k; for(int i=1;i<=n;i++) m[i]=i; for(int i=1;i<=x;i++) w[i]=i; r1=n;r2=...原创 2021-08-09 14:00:20 · 314 阅读 · 0 评论 -
1199迷宫 求解
1199这一道题我想了很久,最后打出来一个程序,但它就是执行不对。看了他不是无限循环,后来加了标记数组a[maxn]和bool keys判断正误,做了剪枝。但运行后一直说“NO”,程序源代码见下:#include<bits/stdc++.h>using namespace std;#define maxn 110int dx[]={0,-1,0,1}; int dy[]={0,1,0,-1}; char c[maxn][maxn];//原型数组 int a[m...原创 2021-07-12 17:02:53 · 126 阅读 · 1 评论 -
1252 走迷宫
#include<bits/stdc++.h>using namespace std;int dx[4]={0,1,-1,0};int dy[4]={1,0,0,-1};int r,cc;char c[2005][2005];int vit[2005][2005];struct node{ int x;//行 int y;//列 int step;//步数}a[2005];void bfs(){ int h=1,t=1;//h头t尾 while(h<=t.原创 2021-07-19 20:01:51 · 215 阅读 · 0 评论 -
1258:【例9.2】数字金字塔
【题目描述】观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从1313到88到2626到1515到2424的路径产生了最大的和8686。【输入】第一个行包含R(1≤R≤1000)R(1≤R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100100。【输出】单独的一行,包含那个可能得到的.原创 2021-07-21 22:20:07 · 931 阅读 · 0 评论 -
1265:【例9.9】最长公共子序列
【题目描述】一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=<x1,x2,…,xm>X=<x1,x2,…,xm>,则另一序列Z=<z1,z2,…,zk>Z=<z1,z2,…,zk>是X的子序列是指存在一个严格递增的下标序列<i1,i2,…,ik><i1,i2,…,ik>,使得对于所有j=1,2,…,k有Xij=ZjXij=Zj例如,序列Z=<B,C,D,B...原创 2021-08-03 17:43:17 · 471 阅读 · 0 评论