- 博客(11)
- 收藏
- 关注
原创 [NOIP2011 提高组] 铺地毯
接下来的 nn 行中,第 i+1i+1 行表示编号 ii 的地毯的信息,包含四个整数 a,b,g,ka,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b)(a,b) 以及地毯在 xx 轴和 yy 轴方向的长度。如下图,11 号地毯用实线表示,22 号地毯用虚线表示,33 号用双实线表示,覆盖点 (2,2)(2,2) 的最上面一张地毯是 33 号地毯。第 n+2n+2 行包含两个整数 xx 和 yy,表示所求的地面的点的坐标 (x,y)(x,y)。输入共 n+2n+2 行。
2024-11-04 19:16:04 628
原创 杨辉三角(c++)
这一数学概念最初由北宋的在11世纪提出,并在杨辉的研究中得到了进一步的发展和阐述。杨辉三角实际上是在三角形中的一种几何排列,展示了数学中的对称美和规律性。杨辉三角不仅展示了数学的规律性和简洁美,还在历史上体现了中国数学家的智慧和贡献。尽管帕斯卡在1654年独立发现了这一规律,但杨辉的发现早了393年,显示了古代中国在数学领域的卓越成就。
2024-10-09 17:53:55 613
原创 排队打水问题(贪心算法)c++
有n个人排队到 r 个水龙头去打水,他们装满水桶的时间 t1, t2, …,tn 为整数且各不相等,应如何安排他们的打水顺序才能使他们花费的总时间最少?每个人打水的时间 = 排队的时间 + 实际打水的时间,本题假设一个人打好水,排在他后面的人接着打水的这个切换过程不消耗时间。比如,有2个人A和B,他们打水的时间分别是3和2,只有1个水龙头,这时,如果A先打水,B后打水,那么A和B打水的时间分别为3、3+2(B排队3分钟)。因此,所有人打水的总时间就是每个人的打水时间及每个人的排队时间的总和。
2024-10-07 18:22:05 550
原创 [USACO1.5] 八皇后 Checker Challenge ( c++ )
检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子,如下例,就是一种正确的布局。上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是跳棋放置的一个解。请写一个程序找出所有跳棋放置的解,并把它们以上面的序列方法输出。解按字典顺序排列,请输出前3个解,最后一行是解的总个数。
2024-10-07 18:07:49 371
原创 【NOIP2014 普及组c++复赛】螺旋矩阵
一个 n 行 n 列的螺旋矩阵可由如下方法生成:从矩阵的左上角(第 1 行第 1 列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入 1, 2, 3, ... , n2,便构成了一个螺旋矩阵。下图是一个 n = 4 时的螺旋矩阵。现给出矩阵大小 n 以及 i 和 j,请你求出该矩阵中第 i 行第 j 列的数是多少。输入格式。
2024-10-06 16:47:11 450
原创 【NOIP2005 普及组c++】校门外的树
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,…,L都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
2024-10-06 11:51:26 425
原创 【NOIP2014 普及组c++】珠心算测验
通过遍历集合中的每一对数,计算它们的和,并检查这个和是否在集合中存在,可以有效地解决这个问题。使用 数组 z[ ] 来存储已经找到的和,可以避免重复计算,提高效率。
2024-10-06 11:08:39 514
原创 递归(-9999基础教学)
这个故事有个特点,在故事中提到同样的故事。而这就是递归的了函数就像一个故事,函数中调用自己就是好了回到编程领域,递归是一种编程技术,它允许函数调用自身来解决问题。递归通常用于解决可以被分解为相同类型的较小问题的问题。递归的一个经典例子是计算阶乘。
2024-10-05 20:23:06 589
原创 汉诺塔(递归)c++
开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题。一个整数N,表示A柱上有N个碟子。
2024-10-05 18:27:41 836
原创 过河卒(递归)c++
本题关键在于判断终点,执行过程(向下与向右),包括一些细节(为x,y设置边界,利用abs优化)重在理解递归不断调用函数(在本题此过程有如1分2的树形图),直至达到终点再返回所以,你会了吗,还不会的话。
2024-10-05 17:39:47 301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人