zoukankan      html  css  js  c++  java
  • CF1271C Shawarma Tent 题解

    通过分析样例可以发现,离学校越近的地点经过的路线也会越多,因此我们只要考虑学校周围的八个点即可。而且可以发现,对于一个点,路线会经过这个点的节点是确定的。因此在输入的时候可以统计学校周围八个节点被经过的次数,然后找最大的一个即可。注意判断边界。

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,sx,sy,ans=-1,ansx,ansy;
    int dx[8]={-1,0,1,1,1,0,-1,-1},dy[8]={-1,-1,-1,0,1,1,1,0};
    int cnt[8];//左上,上,右上,右,右下,下,左下,左 
    void check(int x,int y)
    {
        cnt[0]+=(x<=sx-1 && y<=sy-1);
        cnt[1]+=(y<=sy-1);
        cnt[2]+=(x>=sx+1 && y<=sy-1);
        cnt[3]+=(x>=sx+1);
        cnt[4]+=(x>=sx+1 && y>=sy+1);
        cnt[5]+=(y>=sy+1);
        cnt[6]+=(x<=sx-1 && y>=sy+1);
        cnt[7]+=(x<=sx-1);
    }//统计
    int main()
    {
        scanf("%d%d%d",&n,&sx,&sy);
        for(int i=1,x,y;i<=n;i++)
        {
            scanf("%d%d",&x,&y);
            check(x,y);
        }
        for(int i=0,nx=sx+dx[i],ny=sy+dy[i];i<8;i++,nx=sx+dx[i],ny=sy+dy[i])
            if(nx>=0 && nx<=1e9 && ny>=0 && ny<=1e9 && cnt[i]>ans)
                ans=cnt[i],ansx=nx,ansy=ny;
        printf("%d
    %d %d",ans,ansx,ansy);
        return 0;
    }
  • 相关阅读:
    字符串(url)拼接变量
    elementUI table数据显示效果(二)
    异常(转)
    PHP 的异常处理、错误的抛出及错误回调函数 (转)
    详细解读PHP类的封装 (转)
    什么是抽象类
    什么是类,什么是对象,类和对象之间的关系
    魔术方法
    类的声名
    self
  • 原文地址:https://www.cnblogs.com/TEoS/p/12048490.html
Copyright © 2011-2022 走看看