Hoofball 题解

题面:

在这里插入图片描述

翻译:

农夫有N头奶牛在训练踢球,他们站成一排,位置分别是x1,x2…xn(xi越大,位置越靠右).
每当一头奶牛接到一个球后,他会传给和他距离最短的奶牛
如果有两头奶牛和他距离相同,那么他就会传给左边的奶牛.
农夫要发多少个球,才能使所有的奶牛都至少能够碰到一次球.

输入:

第一行是一个整数n,代表有多少头奶牛
第二行是n个整数,分别代表n头奶牛的位置.

输出:

一个整数,农夫至少需要发多少个球?

题目分析:

在输入了所有奶牛的位置之后,我们先把他们从左到右排序,以方便之后的处理.
之后我们知道,最左边的奶牛一定会传给他右边的那一头奶牛.
最右边的奶牛一定会传给他左边的那一头奶牛.
然后在判断从左到右的第二到倒数第二头奶牛分别会把球传给谁?然后用一个变量to来记录
同时用一个变量from记录下每一头奶牛能够收到多少头奶牛传给他的球.

这样处理之后,开始传球.
用一个数组shuted来记录每一头奶牛是否碰到过球.

从左到右找到每一头from为0并且没有碰过球的奶牛,给他传一个球,然后再

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值