csp----寻宝!大冒险!

题目描述: 

 

 

AC代码如下: 

/*思路:
把A变成小块 因为B是A里的一部分
通过把A变成小块 去寻找B这样速度更快
如果A=B,B=A,说明找到了。
*/

#include <iostream>
#include <cstring>
#include <algorithm>
#include <utility>
#define x first
#define y second

using namespace std;

const int N = 1010,INF = 1e8;
typedef pair<int, int> PII;
PII shu[N];
int bao[60][60];

int main()
{
    int n,L,S;
    scanf("%d %d %d", &n,&L,&S);
    int tc = 0;
    for(int i=0;i<n;i++)
    {
        cin >> shu[i].x >> shu[i].y;
    }
    for (int i = S; i>=0; i -- )
    {
        for (int j = 0; j < S+1; j ++ )
        {
            cin >> bao[i][j];
            tc += bao[i][j];
        }
    }
    int res = 0;
    for(int i=0;i<n;i++)
    {
        //以sx,sy为初始坐标去找
        int sx = shu[i].x,sy = shu[i].y;
        //不能越界,切勿越了A的上下左右边界
        if(sx+S>L || sy+S>L) continue;
        int cnt = 0;
        for (int j = 0; j < n; j ++ )
        {
            //以sx,sy为藏宝图左下角(0,0)为原点去找跟B匹配的
            int x = shu[j].x,y = shu[j].y;
            if(x-sx<=S && x>=sx && y>=sy && y-sy<=S)
            {
                //这里只需要去找此坐标下宝藏图的位置有无1的存在
                if(!bao[x-sx][y-sy]) cnt = -INF; //INF是一个很大的负数,因为cnt最大不会超过1个亿
                else cnt ++;
            }
        }
        //如果对应坐标下全是1且位置相同 说明数目也相同
        if(cnt == tc) res++;
    }
    cout << res;
    return 0;
}

思路和注释都在代码中,欢迎不会的小伙伴留言~ 

相关推荐

  1. CCF-CSP 202206-2 冒险

    2024-01-29 15:42:03       28 阅读
  2. L2-048 图 (DFS做法)

    2024-01-29 15:42:03       22 阅读
  3. 2012NOIP普及组真题 2.

    2024-01-29 15:42:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 15:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 15:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 15:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 15:42:03       20 阅读

热门阅读

  1. SpringMVC

    SpringMVC

    2024-01-29 15:42:03      35 阅读
  2. 多路IO复用服务器——select模型和poll模型

    2024-01-29 15:42:03       35 阅读
  3. mysql迁移至达梦数据库

    2024-01-29 15:42:03       35 阅读
  4. Linux中的知识点

    2024-01-29 15:42:03       34 阅读
  5. 面试经典150题(93-95)

    2024-01-29 15:42:03       37 阅读
  6. 深入了解Spring事件机制的作用与应用场景

    2024-01-29 15:42:03       34 阅读
  7. 美发行业微信小程序的产品功能设计

    2024-01-29 15:42:03       37 阅读
  8. 23种设计模式使用场景分析

    2024-01-29 15:42:03       42 阅读
  9. 智慧泵房服务认证:提升企业竞争力的有效途径

    2024-01-29 15:42:03       38 阅读
  10. Python 库 Difflib

    2024-01-29 15:42:03       35 阅读
  11. VBA笔记

    2024-01-29 15:42:03       35 阅读
  12. c++线程thread示例

    2024-01-29 15:42:03       29 阅读