zoukankan      html  css  js  c++  java
  • SSLZYC 2405 巧克力

    题目大意:
    这里写图片描述


    思路:

    一个很像是离散的大模拟

    对于任意一块巧克力:

    我们为了答案最优,有4种方法把它框柱:
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    然后我们就可以看看被框柱的部分能框柱几个巧克力,并记录最优答案。

    注意:框子可以改变方向!(就是这个坑了我的AK啊~~~)


    代码:

    #include <cstdio>
    #include <iostream>
    using namespace std;
    
    int n,x1[101],y1[101],x2[101],y2[101],x,y,maxn,sum;
    
    void WYC_said_he_will_AK_today(int X1,int Y1,int X2,int Y2)  //以第一种方法和第三种方法框柱巧克力
    {
        sum=0;
        for (int i=1;i<=n;i++)
         if (x1[i]>=X1&&x2[i]<=X2&&y1[i]>=Y1&&y2[i]<=Y2) sum++;
        maxn=max(maxn,sum);  //记录最优答案
    }
    
    void ZYC_said_WYC_can_not_AK_today(int X1,int Y1,int X2,int Y2)  //以第二种方法和第四种方法框柱巧克力
    {
        sum=0;
        for (int i=1;i<=n;i++)
         if (x1[i]>=X1&&x2[i]<=X2&&y1[i]>=Y2&&y2[i]<=Y1) sum++;
        maxn=max(maxn,sum);  //记录最优答案
    }
    
    int main()
    {
        scanf("%d",&n);
        for (int i=1;i<=n;i++)
         scanf("%d%d%d%d",&x1[i],&y1[i],&x2[i],&y2[i]);
        scanf("%d%d",&x,&y);    
        for (int i=1;i<=n;i++)
        {
            swap(x,y);  //转变框子的方向
            if (x2[i]-x1[i]>x||y2[i]-y1[i]>y) continue;
            WYC_said_he_will_AK_today(x1[i],y1[i],x1[i]+x,y1[i]+y);
            WYC_said_he_will_AK_today(x2[i]-x,y2[i]-y,x2[i],y2[i]);
            ZYC_said_WYC_can_not_AK_today(x1[i],y2[i],x1[i]+x,y2[i]-y);
            ZYC_said_WYC_can_not_AK_today(x2[i]-x,y1[i]+y,x2[i],y1[i]);
            swap(x,y);
            if (x2[i]-x1[i]>x||y2[i]-y1[i]>y) continue;
            WYC_said_he_will_AK_today(x1[i],y1[i],x1[i]+x,y1[i]+y);
            WYC_said_he_will_AK_today(x2[i]-x,y2[i]-y,x2[i],y2[i]);
            ZYC_said_WYC_can_not_AK_today(x1[i],y2[i],x1[i]+x,y2[i]-y);
            ZYC_said_WYC_can_not_AK_today(x2[i]-x,y1[i]+y,x2[i],y1[i]);
        }
        printf("%d\n",maxn);
        return 0;
    }

    P.S.:不要问我函数名那么搞怪!

  • 相关阅读:
    图片自动播放
    选项卡切换
    jquery实现全选、反选、不选
    JQuery $()后面的括号里的内容什么时候加引号,什么时候不加
    ajax跨域jsonp
    加班与效率
    提问的智慧
    程序员要勇于说不
    编程从业五年的十四条经验,句句朴实
    成为高效程序员的7个重要习惯
  • 原文地址:https://www.cnblogs.com/hello-tomorrow/p/9313073.html
Copyright © 2011-2022 走看看