首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“悬赏令”编程活动之五

最后一期题目在下面啦

1

画饼

趣味题

问题描述:在一个平面上画100圆,这100个圆最多能把这个平面分为几部分?例如1个圆把一个平面分为2部分(圆内和园外);2个圆能把一个平面分为4部分。

2

接水

编程题

要求:使用C/C++解决,投稿时附件.c/.cpp文件

问题描述:

水房一共有m个水龙头,每个水龙头的供水量相等,均为每秒1。现在有n名同学准备接水,他们的接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为Wi。开始时,1到m号同学各占一个水龙头并同时开始接水。当某名同学j完成接水量时,下一名排队接水的同学k马上接替j同学的位置开始接水。这个换人过是瞬间完成的,且没有水的浪费。问所有人都接完水需要多少秒。

输入输出格式:

输入格式:

单组输入,第一行两个整数n和m,用一个空格隔开,分别表示接水人数和水龙头个数。(1

第二行n个整数W1,W2,W3......Wn,每两个整数之间用一个空格隔开,Wi表示i号同学的接水量。(1

输出格式:

一个整数,表示接水所需的总时间。

输入输出样例:

输入样例1:

5 3

4 4 1 2 1

输出样例1:

4

第一期答对人员名单:

第一题:

李旭东 陈佳 付兢铭 黄彦瑜 段晨 甘书诚 廖胡波 熊勉 王銮辉 郑宏雷 黄诚 喻云虎 卢海伦 盛馨怡 黄伟明 符福明 韩承志 陈凡 邵航 陈都 赵如浩

第二题:

段晨 甘书诚 王銮辉 黄诚 喻云虎 卢海伦 符福明 韩承志 陈凡 邵航 陈都 赵如浩

上期参考答案:

1、过桥

参考答案:125

先拿5个,从起点开始,走到1米处,放3个在1米处,再返回。

再拿60个,从起点开始,走到1米处,此时1米处有3个,拿起一个,身上就有60个了,1米处剩2个;从1米处走到21米处,放20个在21米处,再回到1米处,拿起1个后再回到起点。

此时1米处剩1个,21米处剩20个。最后拿60个,加上路上的21个,刚好可以过桥,一共用了125个。

2、栈

f[i]表示i个数出栈可能的总数目。

设x是最后一个出栈的,则x有n种取值。把已出栈的数字分为两部分:(1)比x大;(2)比x小。

比x小的有x-1个,出栈可能的总数目为f[x-1];比x大的有n-x个,出栈可能的总数目为f[n-x];两者又相互影响,所以一个x的取值出栈可能的总数目为f[x-1]*f[n-x];由于x有n种取值,所以sum=f[0]*f[n-1] + f[1]*f[n-2] + ... + f[n-1]*f[0];

参考代码:

#include

int n, f[30];

int main()

{

scanf("%d", &n);

f[0] = 1, f[1] = 1;

for(int i=2; i

for(int j=0; j

f[i] += f[j] * f[i-j-1];

printf("%d", f[n]);

return 0;

}

---END---

题目来源:团委素研会

小编:Mist

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181231B128GY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券