当前位置: 首页 > news >正文

NOIP真题讲解 传球游戏 接水问题

传球游戏

说明

上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。
游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。

聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。两种传球方法被视作不同的方法,当且仅当这两种方法中,接到球的同学按接球顺序组成的序列是不同的。比如有三个同学1号、2号、3号,并假设小蛮为1号,球传了3次回到小蛮手里的方式有1->2->3->1和1->3->2->1,共2种。

输入格式

输入文件ball.in共一行,有两个用空格隔开的整数n,m(3<=n<=30,1<=m<=30。

输出格式

输出文件ball.out共一行,有一个整数,表示符合题意的方法数。

样例

输入数据 1

3 3
Copy

输出数据 1

2
Copy

提示

【来源】noip2008普及组复赛T3。

#include<bits/stdc++.h>
using namespace std;
int f[31][31],i,j,m,n;
int main()
{cin>>n>>m;f[0][1]=1;for(int i=1; i<=m; i++)for(int j=1; j<=n; j++)if(j==1)f[i][j]=f[i-1][n]+f[i-1][2];else if(j==n)f[i][j]=f[i-1][1]+f[i-1][n-1];elsef[i][j]=f[i-1][j-1]+f[i-1][j+1];cout<<f[m][1]<<endl;return 0;
}

接水问题

说明

学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。
现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即j同学第x秒结束时完成接水,则k同学第x+1秒立刻开始接水。若当前接水人数n’不足m,则只有n’个龙头供水,其它m−n’个龙头关闭。
现在给出n名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。(noip2010普及组复赛第2题)

输入格式

第1行2个整数n和m,用一个空格隔开,分别表示接水人数和龙头个数。
第2行n个整数w1、w2、……、wn,每两个整数之间用一个空格隔开,wi表示i号同学的接水量。

输出格式

输出只有一行,1 个整数,表示接水所需的总时间。

样例

输入数据 1

5 3
4 4 1 2 1
Copy

输出数据 1

4
Copy

输入数据 2

8 4
23 71 87 32 70 93 80 76
Copy

输出数据 2

163
Copy

提示

样例1的说明:
第1秒,3人接水。第1秒结束时,1、2、3号同学每人的已接水量为1,3号同学接完水,4号同学接替3 号同学开始接水。
第2秒,3人接水。第2秒结束时,1、2号同学每人的已接水量为2,4号同学的已接水量为1。
第3秒,3人接水。第3秒结束时,1、2号同学每人的已接水量为3,4号同学的已接水量为2。4号同学接完水,5号同学接替4 号同学开始接水。
第4秒,3人接水。第4秒结束时,1、2号同学每人的已接水量为4,5号同学的已接水量为1。1、2、5号同学接完水,即所有人完成接水。
总接水时间为4秒。

数据范围:
1 ≤ n ≤ 10000,1 ≤m≤ 100 且m≤ n;
1 ≤ wi ≤ 100。

#include <bits/stdc++.h>
using namespace std;int n,m,a[110];
int main(){int i,j,x,min;cin>>n>>m;for(i = 1;i <= n;i++){cin>>x;min = 1;//m个水龙头找最小值存入for(j = 2;j <= m;j++){if(a[j] < a[min]){min = j;}} a[min] += x;}//找最大值int max = a[1];for(i = 2;i <= m;i++){if(a[i] > max){max = a[i];}}	cout<<max<<endl; 
}
http://www.lryc.cn/news/135992.html

相关文章:

  • 《论文阅读18》 SSD: Single Shot MultiBox Detector
  • NOIP2016普及组第四题 魔法阵
  • uniapp-滑块验证组件wo-slider
  • NPM 管理组织成员
  • 设计模式(3)抽象工厂模式
  • 【C++】早绑定、析构与多态 | 一道关于多态的选择题记录
  • mac下安装tomcat
  • 【小梦C嘎嘎——启航篇】string常用接口的模拟实现
  • 【Jenkins】持续集成部署学习
  • Redis数据结构之List
  • SpringCloud Alibaba实战和源码(7)Skywalking
  • MySQL索引可能失效之or、is null、is not null、不等于(!=,<>)、联合索引
  • 无人机电力巡检:探索电力设施维护的新模式
  • ethers.js1:ethers的安装和使用
  • 小程序中的页面配置和网络数据请求
  • 使用ImageMagick实现多张图片拼接为gif(多线程版)
  • 解释 RESTful API,以及如何使用它构建 web 应用程序。
  • 远程端口转发 实践 如何将物理机某一端口的服务转发到vps上,使得外网能访问到
  • 【uniapp 监听键盘弹起与收回】
  • 【Unity】如何制作小地图
  • 基于IMX6ULLmini的linux裸机开发系列八:按键处理实验
  • 数据结构好题总结
  • Java串口开发
  • Python nohup 启动python脚本,后台没有日志
  • 完美解决微信小程序使用复选框van-checkbox无法选中
  • IDEA报错:类文件具有错误的版本 61.0,应为52.0
  • Linux 挂载局域网内共享目录
  • FFmpeg解码32k大分辨率出现如下错误:Picture size 32768x32768 is invalid
  • EasyExcel+POI制作带有有效性校验及下拉联动的Excel模板
  • Unity怎么制作魔法火焰特效?Unity制作魔法火焰特效方法