2018 蓝桥杯省赛 B 组模拟赛(五)题 F题
蒜头君得到一张藏宝图。藏宝图是一个 10×1010 \times 1010×10 的方格地图,图上一共有 101010 个宝藏。有些方格地形太凶险,不能进入。
整个图只有一个地方可以出入,即是入口也是出口。蒜头君是一个贪心的人,他规划要获得所有宝藏以后才从出口离开。
藏宝图上从一个方格到相邻的上下左右的方格需要 111 天的时间,蒜头君从入口出发,找到所有宝藏以后,回到出口,最少需要多少天。
#include<iostream>
#include<algorithm>
#include<set>
#include<cmath>
#include<stack>
#include<string>
#include<queue>
#include<vector>
using namespace std;
int fz[4][2]={0,1,1,0,0,-1,-1,0};
int out=99999;
char map[20][20]={"1111111211",
"1110112111",
"1011211011",
"1211101121",
"1011210111",
"1101111011",
"1111101121",
"1010112111",
"1211110011",
"1101102111"};
typedef struct node{
int x;
int y;
}node;
int pd(int x,int y,int v[20][20]){
if(x<0||y<0||x>=10||y>=10||map[x][y]=='0'||v[x][y]==1) return 0;
return 1;
}
int bfs(node n1,node n2,int v[20][20]){
int len[20][20]={0};
queue<node> que;
que.push(n1);
v[n1.x][n1.y]=1;
while(que.size()){
node n1=que.front();
que.pop();
for(int i=0;i<4;i++){
int xx=n1.x+fz[i][0];
int yy=n1.y+fz[i][1];
if(pd(xx,yy,v)){
v[xx][yy]=1;
len[xx][yy]=len[n1.x][n1.y]+1;
if(xx==n2.x&&yy==n2.y) return len[xx][yy];
que.push({xx,yy});
}
}
}
}
int main(){
node no[20];
no[0].x=0,no[0].y=7;
no[1].x=1,no[1].y=6;
no[2].x=2,no[2].y=4;
no[3].x=3,no[3].y=1;
no[4].x=3,no[4].y=8;
no[5].x=4,no[5].y=4;
no[6].x=6,no[6].y=8;
no[7].x=7,no[7].y=6;
no[8].x=8,no[8].y=1;
no[9].x=9,no[9].y=6;
int out=9999;
int a[100]={0,1,2,3,4,5,6,7,8,9};
do{
if(no[a[0]].x>=3&&no[a[0]].y>=3) continue;
int sum=0;
node nn;
nn.x=0,nn.y=0;
int f[20][20]={0};
sum+=bfs(nn,no[a[0]],f);
for(int i=0;i<9;i++){
int v[20][20]={0};
sum+=bfs(no[a[i]],no[a[i+1]],v);
}
int f1[20][20]={0};
sum+=bfs(no[a[9]],nn,f1);
out=min(out,sum);
}while(next_permutation(a,a+10));
cout<<out;
return 0;
}
2018 蓝桥杯省赛 B 组模拟赛(五)题 F题相关推荐
- 2018 蓝桥杯省赛 B 组模拟赛(一)--封印之门
题目链接:https://nanti.jisuanke.com/t/A1594 蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手.幸运的是,小岛上有一扇上古之神打造的封印之门,可以 ...
- 52-2018 蓝桥杯省赛 B 组模拟赛(一)java
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...
- 2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会
2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会 这题有两种情况 1.最大的和是在0~n-1 2.最大的和越过了首尾 这时候只要用n个数的和 - 0~n-1 的连续的最小和 这是求连续子集最大.最小 ...
- 2019 蓝桥杯省赛 B 组模拟赛(一)——计蒜客(未完待续)
比赛链接: 2019 蓝桥杯省赛 B 组模拟赛(一) 友情提示: 蓝桥杯的头文件,如果不是都记得,可以直接万能头文件 #include <bits/stdc++.h>, 不过有的时候,这样 ...
- 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】
蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...
- 2015年第六届蓝桥杯C/C++B组省赛题目解析
1.奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是 ...
- 第一届『Citric杯』NOIP提高组模拟赛 题解
[官方题解]第一届『Citric杯』NOIP提高组模拟赛 题解 第一题 柠檬超市 这题是本次模拟赛的送分题.做法显然. 但是注意此题有一个陷阱: 注意W和C的规模都是10^9,所以如果直接用doubl ...
- 计蒜客2019蓝桥杯省赛B组模拟赛(一)题目及解析
蓝桥杯历年真题题目及题解目录汇总 A. 结果填空:钟表 题库链接 分值: 5 一天蒜头君 22:28:45 开始睡觉,06:24:26 醒来之后,蒜头君在想,今天我睡了多久? 请你告诉蒜头君睡了& ...
- 蓝桥杯c语言a组省赛试题及答案,2016-蓝桥杯-省赛-C语言大学A组全部真题.doc
第七届蓝桥杯大赛个人赛省赛真题(软件类) C/C++ 大学A组 考生须知: 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题. 考试时间为4小时.时间截止后,提交答案无效. 在考试强 ...
- 2019年第十届蓝桥杯C/C++ A组国赛赛后总结(北京旅游总结)
听说蓝桥杯挺水,几个同学一块儿报了省赛准备打着玩玩(Java C/C++ A B组都有).我报的是C/C++A组. 好,省赛一结束,一等奖前排...但是只有两个同C/C++A组的同学也是省一,不过都是 ...
最新文章
- 元宇宙和我有什么关系?
- 【Fibonacci-PEG,LDPC】基于Fibonacci-PEG算法的LDPC码校验矩阵的构造
- python excelwriter保存路径_python管理文件神器 os.walk
- Activity 启动模式
- 还在用上古的 ls 命令管理文件吗,是时候使用终端文件管理神器 lf 了!
- c语言 stm32结构体赋值,STM32学习笔记9——结构体赋值问题
- vue-cli3的命令行创建项目-(慕课网笔记)
- Opencv3与Opencv2的区别,及opencv2项目移植到opencv3注意事项
- 解决 此 Flash Player 与您的地区不相容 问题
- Carplay测试-Carplay认证预测试服务-Siri AudioTest-ITU-T P.1110 测试-ITU-T P.1100车载免提音测试
- svn忽略指定文件或目录
- Flex弹性布局详细介绍
- php api地址解析,百度地图API-根据地址解析坐标,根据坐标解析地址
- @csrf_exempt 类的视图跨域
- c语言最简单的程序流程图,高手帮忙画个流程图简单的俄罗斯方块C语言程 – 手机爱问...
- 华为交换机三种模式的理解
- 读取XML-致冷冽同学
- CDGP|保险行业如何做好数据治理?
- OpenCV图像拼接-Stitcher类-Stitching detailed使用与参数介绍
- IDEA安装lombok插件踩坑记录
热门文章
- pymol安装教程linux,PyMOL | Pymol绘图教程(一)
- c++ 2条中线焦点_三角形的中线为何交于一点
- ios block常见的错误(二)——循环引用
- 双屏不同缩放比例_科技产品大赏,曲面、折叠手机之后,双屏电脑会是下一个趋势吗?...
- 转:一个Sqrt函数引发的血案
- maven安装以及常用配置,idea如何配置maven
- 2.微型计算机系统的基本结构及计算机各个部件的功能
- 中的live_2016知乎Live精选汇编——简历类
- 如何使用命令强制DC的复制
- 【我的相册】2018.2.15-年夜饭