栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

CCF-CSP试题201912-2回收站选址 暴力解法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CCF-CSP试题201912-2回收站选址 暴力解法

CCF-CSP试题201912-2回收站选址 暴力解法

题目地址:201912-2回收站选址

由于此题测试点9和10中坐标可以是负数,则用二维数组存储坐标不好操作,所以此题采用结构体存储坐标
具体代码如下:

#include 
using namespace std;
struct node{
    int x,y;
    int grade=0;
    int flag=0;
    
};
//判断是否满足垃圾点
bool Jude(node p,int x,int y)
{
    if((p.x==x-1&&p.y==y)||(p.x==x+1&&p.y==y)||(p.x==x&&p.y==y+1)||(p.x==x&&p.y==y-1))
    {
        return true;
    }
    else
    {
        return false;
    }
}
//得出分数,满足此条件则分数+1
bool GetSum(node p, int x ,int y)
{
    
    if((p.x==x-1&&p.y==y-1)||(p.x==x+1&&p.y==y+1)||(p.x==x-1&&p.y==y+1)||(p.x==x+1&&p.y==y-1))
    {
        return true;
    }
    else
    {
        return false;
    }
}
int main()
{
    int n;cin>>n;
    node point[n+1];
    for(int i=1;i<=n;i++)
    {
        cin>>point[i].x>>point[i].y;
    }
    for(int i=1;i<=n;i++)
    {
        int x=point[i].x;
        int y=point[i].y;
        for(int j=1;j<=n;j++)
        {
            if(Jude(point[j], x, y))
            {
                point[i].flag+=1;
            }
            if(GetSum(point[j], x, y))
            {
                point[i].grade+=1;
            }
        }
    }
    int sum[6];
    for(int i=0;i<5;i++)
    {
        sum[i]=0;
    }
    for(int i=1;i<=n;i++)
    {
        if(point[i].flag==4)
        {
            sum[point[i].grade]++;//直接用point[i].grade作为分数
        }
    }
    for(int i=0;i<5;i++)
    {
        cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号