• 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.:不要问我函数名那么搞怪!

  • 相关阅读:
    JVM参数设置-jdk8参数设置
    JVM参数配置详解-包含JDK1.8
    IntelliJ Idea 常用快捷键列表
    架构组织形式的讨论,以及架构师之路的建议
    ElasticSearch-6.3.2 linux 安装
    CAT 安装运行配置教程
    JPMML解析PMML模型并导入数据进行分析生成结果
    第9章 多态和抽象
    第10章 接口
    第8章 类的高级概念
  • 原文地址:https://www.cnblogs.com/hello-tomorrow/p/9313073.html
Copyright © 2020-2023  润新知