紫藤花,时间超限如何更改

紫藤花,时间超限如何更改
奶牛Bessie来到John的农场,农场里有它最喜欢吃的植物紫藤花,紫藤花一共有n株,第i株紫藤花的高度是ai,Bessie开始正在吃第1株紫藤花,假设某个时刻他已经吃掉了第i株植物,接下来它准备吃第j株紫藤花,那么第j株紫藤花必须满足下面两个条件才能被吃掉:
i<j
ai和aj高度差不超过k
那么有哪些植物可能会被Bessie吃掉?
样例输入5 2
5 4 8 7 2
样例输出 1 1 0 1 1
long long k,n,i,j,m=0;
scanf("%d %lld",&n,&k);
for(i=0; i<n; i++)
{
scanf("%lld",&f[i].a);
f[i].no=0;
}
f[0].no=1;
for(j=1; j<n; j++)
{
for(i=0; i<j; i++)
{
if(f[i].no==1&& abs(f[i].a-f[j].a)<=k)
{
f[j].no=1;
break;
}
}
}
for(i=0; i<n; i++)
printf("%d ",f[i].no);
展开全部
写回答 好问题 提建议 追加酬金 关注问题 邀请回答 2条回答 默认 最新
如果减少到一半时间算不?5-8,4-2不知道数据范围,无序数组可分段处理提高效率,至少双向。
分享
举报 编辑记录

问题描述:奶牛Bessie来到John的农场,农场里有n株紫藤花,每株紫藤花的高度分别为a1, a2, ..., an。Bessie开始吃第1株紫藤花,接下来他准备吃第j株紫藤花,那么第j株紫藤花只能被吃掉满足以下两个条件:1. j必须大于i;2. 第j株紫藤花的高度和第i株的高度差不能超过k。给定n和k,以及每株紫藤花的高度,确定哪些植物可能会被Bessie吃掉。 示例输入:5 2
5 4 8 7 2
示例输出:1 1 0 1 1 解决方法:我们可以使用一个结构体数组f[]存储每株紫藤花的高度和一个状态标记no,初始化时将第1株标记为已被吃掉(no=1),然后逐个考察后面的植物,如果满足条件就将其标记为已被吃掉。最后输出各植物的标记结果即可。
#include <stdio.h>
#include <stdlib.h>
struct Flower {
long long a;
int no;
};
int main() {
long long k, n, i, j;
struct Flower f[100];
scanf("%lld %lld", &n, &k);
for(i = 0; i < n; i++) {
scanf("%lld", &f[i].a);
f[i].no = 0;
}
f[0].no = 1;
for(j = 1; j < n; j++) {
for(i = 0; i < j; i++) {
if(f[i].no == 1 && abs(f[i].a - f[j].a) <= k) {
f[j].no = 1;
break;
}
}
}
for(i = 0; i < n; i++) {
printf("%d ", f[i].no);
}
return 0;
}
评论 打赏分享
举报相关知识
紫藤开花时间,紫藤花什么时候开花
erp怎么更改订单
紫藤花花芽分化时间
紫藤花的移栽时间是什么时候?
如何制作紫藤花盆景 紫藤花盆景的制作方法
如何制作紫藤盆景,紫藤盆景的制作步骤
花小猪打车怎么更改手机号
葛花和紫藤花的区别(如何区分)
紫藤花苗如何种植呢?
抖音小店如何更改类目?抖音小店类目修改方法详解
网址: 紫藤花,时间超限如何更改 https://www.huajiangbk.com/newsview1461350.html
上一篇: 教师课堂教学的时间分配、控制与评 |
下一篇: 自动控制理论(2)——控制系统的 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039