爱编程的大龙 2023-11-11 14:48 采纳率: 0%
浏览 6

评委区间打分问题怎么解啊?

img

#include<iostream>
#include<vector>
using namespace std;

int main()
{
    int n,m;//人数和环数
    cin>>n>>m;
    //定一个选手集合,每个集合元素是的环
    vector<int> people[n+1];//1 - n
    vector<int> s;//存最大选手编号
    for(int i = 1;i <= m;i++)
    {
        int l,r;
        cin>>l>>r;
        //左边界,右边界
        people[l].push_back(i);
        people[r].push_back(i);
    }
    //用来判断该环的状态,0表示左边界,1表示现遍历到右边界
    int huan[m+1] = {0};
    int max = 0;//最大所处环数
    int cur = 0;//当前所处环数
    for(int i = 1;i <= n;i++)
    {
        int count = 0;//记录该选手右边界环的个数
        for(int j = 0;j < people[i].size();j++)
        {
            int x = people[i][j];
            if(huan[x] == 0)
            {
                cur++;
                huan[x]++;
            }
             //右边界环,记录个数
            else if(huan[x] == 1)
            {
                count++;
                huan[x]++;
            }
        }
        if(cur > max)
        {
            max = cur;
            s.clear();
            s.push_back(i);
        }
        else if(cur == max)
        {
            s.push_back(i);
        }
        cur = cur - count;
    }
    for(int i = 0;i < s.size();i++)
    {
        if(i == 0)
        {
            cout<<s[i];
        }
        else
        {
            cout<<" "<<s[i];
        }
    }
    return 0;
}
部分正确,到底那点没考虑到啊?😭😭😭😭
求各位大佬解析解析
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-11 17:10
    关注

    【以下回答由 GPT 生成】

    是的,我的问题是关于如何解决评委区间打分问题。我需要C++编程方面的帮助。请您帮我优化代码并解释算法的实现原理。谢谢!



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月11日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题