文章

18

粉丝

181

获赞

53

访问

91.2k

头像
1739 街灯 暴力 题目有坑(照亮点,而不是照亮区间)
P1739 华东师范大学2020年机试题
发布于2022年9月4日 11:48
阅读数 4.0k

解题思路其实很简单

  • 计算每一个未被照亮的连续的距离长度
  • 计算该距离需要的灯的个数(即 未被照亮的连续的距离长度/单个灯照亮长度 ,向上取整)
  • 累加即可

 

  • 题目本意:灯的位置为3,k为2,则照亮的地方有点1,2,3,4,5(即2k+1)
  • 我的理解(也是大部分人的理解):灯的位置为3,k为2,照亮的区间为(1,2))(2,3)(3,4)(4,5),即2K
  • 所以,题目描述非常不准确,导致大部分做错,花很多时间debug改不出来
  • 也只有按照题目本意,k才可能为0(题目中描述了),所以这个是唯一能够理解到题意的地方了,不过我也没发现。

 

暴力解出,放上两个版本的代码,希望不要有小伙伴采坑了


照亮区间版:(通过数据25%,错理解题意)

#include <bits/stdc++.h>

using namespace std;

int n, m, k;
int a[1005][1005];

int main()
{
    while (cin >> n >> m >> k)
    {

        if (k == 0)
        {
            cout << n << endl;
            continue;
        }

        int light_index;
        memset(a, 0, sizeof(a));
        for (int i = 0; i < m; i++)
        {
            cin >> light_index; //输入每一个灯的位置

            for (int j = 0; j < k; j++)
            {
                //标记每一个被照亮的点
                if (light_index + j + 1 <= n)
                    a[light_index + ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发