- 博客(11)
- 收藏
- 关注
原创 踩方格(2023.9三级)
那么我们可以设置:往上的数组为u[n],往右的数组为r[n],往左的数组为l[n]。因此,如果往任意方向(三方向之内)走一步,就会是:u[1]=1,r[1]=1,l[1]=1。可以看到,如果要到这一个终点,有三种可能的情况,可能是从u[n-1],r[n-1],l[n-1]三个方向来的,所以可以写出:u[i]=u[i-1]+l[i-1]+r[i-1]。输入的是“可以移动两次”,所以作者制作了上图,可以看到,标为蓝色的“终点”有五个,可是第二行的两个终点被重复,所以一共是七种,于是在样例输出中输出“7”。
2024-07-09 22:52:23 678
原创 课程冲突(2023.9三级)
然后再次循环,循环次数为课程的数量,在循环中判断,下一节课的开始时间是否小于上一节课的结束时间,如果判断结果为true,则说明两者冲突,就需要记录重合的时间根据在题目分析中的结论,得到第一节课的结束时间减去下一节课的开始时间加上一个1就会得出两者重复的时间,定义一个flag变量,初始化设置为0,保存上一个表达式计算的结果。就需要定义一个max变量,初始化设置为0,与flag判断大小,如果比flag小,就将flag的值保存与max中,使max中的值始终为最大。
2024-07-09 21:32:57 813
原创 谁是你的潜在朋友(2023.9三级)
后面就很简单了,建立循环,次数为人数,判断这个人在sum中的值是否为0,如果为0,则说明这个人没有潜在的的好友,就输出“BeiJu”,如果不是,就直接输出该下标的值,即这个人潜在的好友数量。这里还有一个陷阱:很难注意到这里还有书的种类限制,因为题目输入输出样例中没有提到过如果超出会怎么样,所以也做一个判断,如果循环到的数大于的书的种类总数,就也continue结束本次循环开启下一次。接着定义数组,大小设为刚刚的人数,保险起见,作者大小设为了人数+1,再利用循环输入每个人喜欢的数的序号。
2024-07-09 21:12:41 601
原创 菲波那契数列(2024.3三级)
cin>>a来输入,然后由于斐波拉契数列的第一个数师1,第二个数也是1,所以赋值给sum[1]=1;从3到a,并且逐个递增,写成for(int i=3;i++)由于斐波拉契数列中,其中一个数是前一个数和前一个数的前一个数相加而成(除了第一个)所以sum[i]的“前一个”就写成sum[i-1],它的前一个的前一个就是sum[i-2],两者相加就等于了sum[i]。首先输入头文件,使用<bits/stdc++.h>万能头文件,当然,这道题不难,可以直接使用<iostream>,使用命名空间,调用主函数。
2024-07-04 23:27:16 305
原创 我家的门牌号(2024.3三级)
开始另外一个while内部的循环,这次的循环变量i代表“我”住的门牌号,从1开始,并且永远小于总的户数,并且递增,所以for(int i=1;内部是一个if判断,根据题目中的条件“若所有的门牌号之和减去我家门牌号的两倍,恰好等于n”写出if(sum-i*2==n),如果判断成功,将输出“我”的门牌号i,一个空格再加上总的户数,最后return 0结束程序。开始循环嵌套,定义i为循环变量,代表第i户,随机任意一个i都会小于总的户数,所以i<=a;在循环内部,写上sum+=i,让i的每个值都加入到sum中。
2024-07-04 23:06:10 371
原创 1179:奖学金
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前55名学生发奖学金。期末,每个学生都有33门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。
2023-08-11 00:21:31 194
原创 1322:【例6.4】拦截导弹问题(Noip1999)
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。n颗依次飞来的高度(1≤n≤1000)。要拦截所有导弹最小配备的系统数k。输入:导弹高度: 4 3 2。输出:导弹拦截系统k=1。
2023-08-11 00:09:10 217 1
原创 背包问题1
当阿里巴巴进入山洞以后,看到眼前的财宝,想把他们带给贫穷的村名看看,假设财宝可以被切割,且毛驴装载重量有限,如何装才能使其价值最多?输出可装载的编号以及最大价值。第一行为可装载的编号。第二行为可装载的最大价值。余下的行为总质量<<空格<<总价值。首先用struct定义一个数据类型tre,num代表编号,wei代表重量,val代表价值,proc代表性价比。
2023-08-10 01:27:40 42 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人