ccfcsp 202206-2 寻宝大冒险
问题描述
就是这个题,输入与输出格式不再罗列,题目目的大概意思为:给定一个小的地图B,在一个大的地图A中找到B,也就是B是A的子图,求有几个这样的子图。
ccf的第二题给定的限制时间和空间都很大,所以在这题中也没有什么算法,简单的for循环一一去对比,但是为什么要写这个题呢?我写的时候写了三次都没得到满分,这还是ccf的第二题,所以就找原因,发现这个题在满分的数据测试上数据量特别大,大到程序运行不了,我才发现思路错了,出题人意在告诉你可以土方法去做,但是你必须有一个有效的存储形式,这是做这道题感觉到的。编写的过程中遇到的问题是:为了去满足全部的数据测试去见二维数组时明显是不行的(L最大为十的九次方),所以用到一个n的数组存放就能解决了。附上100分代码:
#include<iostream>
using namespace std;int map1[55][55] = { 0 };//地图Bstruct MyStruct
{int x;int y;
};struct MyStruct Ms[1050];//记录地图A的树位置int main()
{int n = 0, S = 0, L = 0;cin >> n >> L >> S;int t_x = 0, t_y = 0;for (int i = 0; i < n; i++){cin >> t_x >> t_y;Ms[i].x = t_x;Ms[i].y = t_y;}for (int i = S; i >= 0; i--){for (int j = 0; j <= S; j++){cin >> map1[i][j];}}int sum = 0;//以下是比较过程for (int k = 0; k < n; k++){int flag = 1;for (int i = 0; i <= S; i++){for (int j = 0; j <= S; j++){if (Ms[k].x + i > L || Ms[k].y + j > L){flag = 0;break;}if (map1[i][j] == 1){flag = 0;for (int l = 0; l < n; l++){if (Ms[l].x == Ms[k].x + i && Ms[l].y == Ms[k].y + j){flag = 1;break;}}if (flag == 0)break;}if (map1[i][j] == 0){for (int l = 0; l < n; l++){if (Ms[l].x == Ms[k].x + i && Ms[l].y == Ms[k].y + j){flag = 0;break;}}if (flag == 0)break;}}if (flag==0)break;}if(flag==1)sum++;}cout << sum << endl;return 0;
}
比较过程比较繁琐,有问题欢迎指正!
ccfcsp 202206-2 寻宝大冒险相关推荐
- CSP 202206 题解:归一化处理,寻宝大冒险,角色授权,光线追踪,PS无限版
试题内容请前往CCF官网查看: CCF-CSP计算机软件能力认证考试 http://118.190.20.162/home.page 阅读本题解前,您应当了解下列知识: 线段树 教程 C++ 标准库( ...
- 2022-6-2寻宝大冒险(不用前缀和与map,c/c++实测满分)
总结: 离散点对应回稀疏矩阵时可以分块处理,根据限制条件筛选掉不必处理的块,缩短计算时间. 一.题目要求 题目背景 暑假要到了.可惜由于种种原因,小 P 原本的出游计划取消.失望的小 P 只能留在西西 ...
- ccf寻宝!大冒险!python满分(敲开心~)
寻宝 大冒险 题目传送:http://118.190.20.162/view.page?gpid=T147 思路及代码: 核心点就是哈希. 之前刷的是70分,找不到之前的代码了,大概是建了一个很大的表 ...
- CCF- CSP 202206-2寻宝!大冒险!暴力算法满分题解
CCF- CSP 202206-2寻宝!大冒险!暴力算法满分题解 题目链接:202206-2寻宝!大冒险! 思路: 数据范围中n ≤ \leq ≤ 1000,S ≤ \leq ≤ 50,考虑时间复杂度 ...
- CSP 寻宝!大冒险! C++
CSP 寻宝!大冒险! C++ 思路:遍历绿化图的每个树,先判断藏宝图里树的数量和当前树的右上边长为s的正方形的树的数量是否一致,如果一致,再循环遍历判断是否相等. #include<bits/ ...
- ccf csp寻宝!大冒险!(C语言)
ccf csp寻宝!大冒险! 题目背景 暑假要到了.可惜由于种种原因,小 P 原本的出游计划取消.失望的小 P 只能留在西西艾弗岛上度过一个略显单调的假期--直到-- 某天,小 P 获得了一张神秘的藏 ...
- 4510. 寻宝!大冒险!
Powered by:NEFU AB-IN Link 文章目录 4510. 寻宝!大冒险! 题意 思路 代码 4510. 寻宝!大冒险! 题意 第26次CCF计算机软件能力认证 题目略 简短版:有一个 ...
- ~1 ccf 2022-06-2 寻宝!大冒险!
寻宝!大冒险! 题目描述 输入 输出 样例输入 样例输出 子任务 源代码 关于这题 题目描述 输入 输出 样例输入 样例一: 5 100 2 0 0 1 1 2 2 3 3 4 4 0 0 1 0 1 ...
- 【寒假每日一题】AcWing 4510. 寻宝!大冒险!
目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 一.题目 1.原题链接 4510. 寻宝!大冒险! - AcWing题库 2.题目描述 暑假要到了 ...
最新文章
- Nginx一点事儿(一)
- Git中的Sign Off功能是什么?
- 【Redis】2、CentOS 7 上安装 redis3.2.3安装与配置
- python无法启动该程序因为计算机中丢失_python报错:无法启动此程序,因为计算机中丢失...
- jquery json学习
- 2015年第六届蓝桥杯C/C++ B组国赛 —— 第一题:积分之迷
- win7纯净版下载csdn_win10原版纯净版下载,安装技巧
- Java实现将日志信息存到TXT中
- CSS文本溢出的处理方法总结
- N皇后问题(暴力法、回溯法)
- php返回图片二进制字节数组,获取图片文件的二进制数组
- 读书笔记∣商务与经济统计Ch.1-3
- HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比
- 安卓模拟器调试GPS
- C语言 冒泡排序 程序流程图,C语言冒泡排序及流程图(思路解析)
- oracle odi 资料档案库访问期间出现未分类的异常错误,ODI11g调用DBLink时报ORA-28267: Invalid NameSpace Value错误...
- 【PHPWord】PHPWord导出PDF格式文件的几种方式以及最优解并附代码
- linux系统双显示器怎么设置复制,在 Linux 中配置双显示器
- flv转mp4(ffmpeg)
- An improved genetic algorithm for the flexible job shop scheduling problem with multiple time constr