IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> CCF 202009-1 称检测点查询 CCF 202009-2 风险人群筛查 -> 正文阅读

[C++知识库]CCF 202009-1 称检测点查询 CCF 202009-2 风险人群筛查

CCF 202009-1 称检测点查询

在这里插入图片描述

思路

给定一个点坐标x,y,求距离给定的N个点坐标最近的前三个点的编号,若距离相同则取编号最小的。排序问题,即将N个点和目标点(x,y)所有距离存储后,有小到大进行排序,输出前三个点。

代码实现

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 201;

int n, X, Y;
//定义目标点
struct Point
{
    int x, y, d;//坐标、和目标点的距离
    int id;//点的编号
    //重载小于号:若距离不同,则距离小的在前。若距离相同则编号小的在前
    bool operator< (const Point& t) const
    {
        if (d != t.d) return d < t.d;
        return id < t.id;
    }
}q[N];//N个坐标点

//计算两点之间距离
int get_dist(int x1, int y1, int x2, int y2)
{
    int dx = x1 - x2;
    int dy = y1 - y2;
    return dx * dx + dy * dy;
}

int main()
{
    cin >> n >> X >> Y;//读入目标点坐标及数量
    for (int i = 0; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
        //初始化点的信息并计算距离目标点的距离,编号从1开始计
        q[i] = { x, y, get_dist(X, Y, x, y), i + 1 };
    }
    sort(q, q + n);//排序
    //输出前三个点的编号
    for (int i = 0; i < 3; i++) cout << q[i].id << endl;
    return 0;
}

CCF 202009-2 风险人群筛查

在这里插入图片描述

思路

给定一个矩形区域(高风险区),给定N个人T个时刻经过的位置坐标,统计其中多少人曾经到过高风险区(只出现一次或小于k次),多少人曾经逗留过高风险区(位置坐标连续K个出现在矩形区域内)

代码实现

#include <iostream>
#include <cstring>
#include <algorithm>

#define x first
#define y second

using namespace std;

typedef pair<int, int> PII;//存储点

int n, k, t, x1, y1, x2, y2;//人数,连续多少个点逗留,每个人的时刻(点数)、矩形左下角和右上角坐标

int main()
{
    cin >> n >> k >> t >> x1 >> y1 >> x2 >> y2;

    int res1 = 0, res2 = 0;//曾经去过和逗留过的人数
    while (n--)
    {
        bool r1 = false, r2 = false;
        int s = 0;
        for (int i = 0; i < t; i++)
        {
            int x, y;
            cin >> x >> y;//读入每个点的坐标
            //判断当前点在不在高危险区域
            if (x >= x1 && x <= x2 && y >= y1 && y <= y2)
            {
                s++;
                r1 = true;
                //若去过的次数大于等于给定的k次数再判定逗留
                if (s >= k) r2 = true;
            }
            else s = 0;
        }
        if (r1) res1++;
        if (r2) res2++;
    }
    cout << res1 << endl << res2 << endl;
    return 0;
}
没有一个冬天不可逾越
没有一个春天不可到来
我们终将战胜疫情!
愿山河无恙,人间皆安!
长安常安!
西安加油!
愿来日可期
仍有秦扫六国之风范
大唐盛世之美艳!
愿我们美丽的十三朝古都西安早日康复!
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:48:36  更:2022-01-11 23:50:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:58:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码