简单题
记录一些简单水题
x-d-xxh
这个作者很懒,什么都没留下…
展开
-
题目 2117: 信息学奥赛一本通T1310-车厢重组
原题链接题面题目题目描述在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。输入有两行数据,第一行是车厢总数N(不大于10000),第二行是N个不同的数表示初始的车厢顺序。原创 2022-04-06 14:58:32 · 170 阅读 · 0 评论 -
题目 2217: 蓝桥杯算法训练-递归求二项式系数值
原题链接题面题目题目描述输入一个满足题目要求的输入范例。输出与样例输入对应的输出。样例输入3 10样例输出120思路类似斐波那契数列,定义n, k,然后每次进行(k,n−1),(k−1,n−1)(k, n - 1),(k - 1, n - 1)(k,n−1),(k−1,n−1),边界条件是k==0∣∣k==nk == 0 || k == nk==0∣∣k==n一旦遇到边界,结果+1.代码#include<bits/stdc++.h>using namespa原创 2022-04-06 13:45:21 · 116 阅读 · 0 评论 -
CF1530B Putting Plates(简单构造,模拟)
原题链接题意给一个 n∗mn * mn∗m 的矩阵(桌子),在这个上面放盘子,只能在边缘放,且每个盘子的上、下、左、右、左上、右上、左下、右下 都不能有别的盘子,问最多能放几个盘子,输出一个方案,0 代表空,1 代表盘子,每个方案之间有一个换行。思路从右上角 (1,1)开始放,遍历四个边缘,然后能放则放,每放一个把周围八个方向标为 -1,即可。代码#include<bits/stdc++.h> using namespace std;int xx[8] = {1, 0, -原创 2022-01-21 15:44:30 · 219 阅读 · 0 评论 -
CF920A Water The Garden (BFS水题)
原题链接题目思路直接 BFS 即可,把所有状态放进去,这里初始化了所有状态为 1 ,也就是说已经把自己本身给灌溉了,然后 BFS 扩展每个可以扩展的点放进去,能扩展就扩展,然后标记一下,左后取最大值即可,因为可以扩展时一定时间会变长,不可以扩展时,时间也不会变长了,所以直接取最大值,然后输出答案。注意向左扩展时不能是负数。代码#include<bits/stdc++.h>using namespace std;const int N = 2500;bool st[N];in原创 2022-01-18 15:26:32 · 415 阅读 · 0 评论 -
木棍游戏(牛客月赛)dfs
原题链接题目思路数据很小,直接 dfsdfsdfs 爆搜。然后枚举每一根木棍放在每一个位置的情况。代码#include<bits/stdc++.h> using namespace std;const int N = 100;double a[N];double ans = -1;double helen(double a,double b,double c){ double p = (a + b + c) / 2; double s = sqrt(原创 2022-01-17 19:52:35 · 2458 阅读 · 0 评论 -
蚂蚁(挑战程序设计竞赛)
原题链接题目思路两人见面后相背而去,可以理解为擦肩而过。由此分别取最大值和最小值。代码#include<bits/stdc++.h> using namespace std;int main(){ int t; cin >> t; while (t -- ) { int l, n; cin >> l >> n; int a[n + 10]; int maxn = 0, minn = -0x3f3f3f3f; fo原创 2022-01-04 16:57:58 · 316 阅读 · 0 评论 -
三角形(挑战程序设计竞赛)
原题链接题意思路三角形两边之和大于第三边两边之差小于第三边代码#include<bits/stdc++.h> using namespace std;int main(){ int n; cin >> n; int a[n + 10]; for (int i= 1;i <= n; i ++ ) { cin >> a[i]; } int sfp = 0; for (int i = 1; i <= n; i ++ )原创 2022-01-04 14:55:00 · 501 阅读 · 0 评论 -
抽签(挑战程序设计竞赛)
原题链接题意给 nnn 个数, 从中取 444 次数,同一个数可以重复取,问能否凑成 mmm?思路四重循环暴力枚举每一种取法即可。代码#include<bits/stdc++.h> using namespace std;int main(){ int n, m; cin >> n >> m; int a[n + 10]; for (int i = 1; i <= n; i ++ ) { cin >> a[i]; }原创 2022-01-04 14:39:08 · 352 阅读 · 0 评论