CSP 202206-2 寻宝!大冒险!

举报
辰chen 发表于 2022/09/01 23:30:06 2022/09/01
【摘要】 文章目录 C++总结 本题链接:CSP 202206-2 寻宝!大冒险! 本博客给出本题截图: C++ #include <iostream> #include &l...

文章目录


本题链接CSP 202206-2 寻宝!大冒险!

本博客给出本题截图
在这里插入图片描述

C++

#include <iostream>
#include <string>
#include <algorithm>
#include <map>
#include <cmath>

using namespace std;

const int N = 1005, M = 55;

typedef map <int, int> PII;
map <int, PII> mp;

int g[M][M];
struct node{
    int x, y;
}f[N];

int main()
{
    int n, l, s;
    cin >> n >> l >> s;

    for(int i = 0; i < n; i ++ )
    {
        cin >> f[i].x >> f[i].y;
        mp[f[i].x][f[i].y] = 1;
    }

    for(int i = s; i >= 0; i -- )
        for(int j = 0; j <= s; j ++ )
            cin >> g[i][j];

    int ans = 0;
    for(int i = 0; i < n; i ++ )
    {
        bool flag = true;
        int x = f[i].x, y = f[i].y;
        for(int j = 0; j <= s; j ++ )
        {
            for(int k = 0; k <= s; k ++ )
            {
                if( x + j > l || y + k > l || g[j][k] != mp[x + j][y + k])
                {
                    flag = false;
                    break;
                }
            }
            if(!flag) break;
        }

        if(flag) ans ++;
    }

    cout << ans << endl;

    return 0;
}

总结

数据范围很大,用数组和 vector 都会超范围,故采用 map 去存储,map 的用法可见博客:STL—map

文章来源: chen-ac.blog.csdn.net,作者:辰chen,版权归原作者所有,如需转载,请联系作者。

原文链接:chen-ac.blog.csdn.net/article/details/126632506

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。