P2895(未解决)
这是一道略复杂的常规BFS题,但我想用DFS来解决,结果写出代码却总是主函数异常返回,不知哪里错了,检查半天也没发现,以后再看看吧。
Code
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<cstdlib>
#include<cmath>
using namespace std;
struct stone{int T,X,Y;};
bool cmp(stone S1,stone S2){return S1.T<S2.T;}
int M,b[305][305],m[305][305],Tmin[90005],p,tmin=99999999,obx,oby;
stone S[50005];
void dfs(int t,int no,int x,int y)
{
if(t>Tmin[p]||m[x][y]==0||x>300||y>300||t>90000-M)return;
if(obx==x&&oby==y)
{
Tmin[p]=min(Tmin[p],t);
return;
}
if(no<=M)
{
while(S[no].T<=t)
{
m[S[no].X][S[no].Y]=0;
m[max(0,S[no].X-1)][S[no].Y]=0;
m[S[no].X+1][S[no].Y]=0;
m[S[no].X][S[no].Y+1]=0;
m[S[no].X][max(0,S[no].Y-1)]=0;
no++;
}
}
/*for(int i=0;i<=10;i++)
{
for(int j=0;j<=10;j++)
{
cout<<m[i][j]<<' ';
}
cout<<endl;
}*/
if(x<300&&m[x+1][y]==1)
{
m[x][y]=0;
dfs(t+1,no,x+1,y);
m[x+1][y]=1;
}
if(y<300&&m[x][y+1]==1)
{
m[x][y]=0;
dfs(t+1,no,x,y+1);
m[x][y]=1;
}
if(x>0&&m[x-1][y]==1)
{
m[x][y]=0;
dfs(t+1,no,x-1,y);
m[x][y]=1;
}
if(y>0&&m[x][y-1]==1)
{
m[x][y]=0;
dfs(t+1,no,x,y-1);
m[x][y]=1;
}
return;
}
int main()
{
cin>>M;
for(int i=1;i<=90000-M;i++) Tmin[i]=609;
for(int i=1;i<=M;i++)
{
cin>>S[i].T>>S[i].X>>S[i].Y;
b[S[i].X][S[i].Y]=1;
b[S[i].X+1][S[i].Y]=1;
b[max(0,S[i].X-1)][S[i].Y]=1;
b[S[i].X][max(0,S[i].Y-1)]=1;
b[S[i].X][S[i].Y+1]=1;
}
sort(S+1,S+M+1,cmp);
for(int i=0;i<=300;i++)
for(int j=0;j<=300;j++)
{
if(i==0&&j==0)continue;
if(b[i][j]==0&&i+j<tmin)
{
for(int ii=0;ii<=300;ii++)
for(int jj=0;jj<=300;jj++)
m[ii][jj]=1;
p++;
obx=i;
oby=j;
dfs(0,1,0,0);cout<<2<<endl;
tmin=min(tmin,Tmin[p]);
}
}
if(tmin==99999999)
cout<<-1;
else
cout<<tmin;
return 0;
}
P2895(未解决)的更多相关文章
- C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...
- 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现
几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
原因:Jetty会导致这个问题,Tomcat可以正常启动 一.异常产生现象 使用json-lib转换实体类/字符串,跑单元测试没问题,但是启动jetty后调用JSONArray.fromObjec ...
- Ajax返回中文乱码问题(未解决)
(未解决) 暂时使用办法:改用返回Map<String,String>形式的返回值,在ajax中获取json形式的数据.
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...
- oracle,wamp,FZ突然出现问题,求解决方案(未解决,最终系统还原)
-----背景------- 系统:win7 64位oracle 11g(11.1)每天都用oracle.用toad for oracle .电脑固定IP.未更改任何配置信息.用了几个月,突然出现了 ...
- (转载) C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
转载http://blog.csdn.net/neo_ustc/article/details/9024839 有 些人写C/C++(以下假定为C++)程序,对unresolved external ...
- tomcat中显示本地图片①(未解决)
<本模块文仅作为学习过程中的自我总结,有需要可参看,欢迎指导与提出建议,很多地方可能断章取义,理解不到位,虚心求学.谢谢!> 资料查阅原因:2018/7/10(做项目中显示详情页面,从数据 ...
- JIRA状态为任务结束,但是解决结果为未解决相关配置
1.JIRA状态为任务结束,但是解决结果为未解决,如下图所示: 2.在工作流->界面->结果处理中进行解决结果的配置(首先确保界面配置中有“解决结果”字段). 3.点击“结果处理”,进行结 ...
- [未解决]Exception in thread "main" java.lang.IllegalArgumentException: offset (0) + length (8) exceed the capacity of the array: 6
调用这个方法 是报错,未解决 binfo.setTradeAmount(Double.parseDouble(new String(result.getValue(Bytes.toBytes(fami ...
随机推荐
- drf实战和源码剖析----学习笔记1
学自:bilibili武沛齐老师. 武老师讲课:清晰,连贯,实用,透彻,真乃名师! # 1. 什么是前后端分离 - 不分离,主要用于后台系统(CRUD)和用户量上的情况,开发起来代价小- 分离,面向用 ...
- 小程序优化:第三方SDK过大解决方案
[前言] 小程序开发中,有时会遇到下面这种情况,项目目录中存放过大的js包,会被警告影响手机端性能,同时让开发编译启动变得很慢.慢是其次,单是影响性能这一点,就需要解决一下. [云资源] 将项目js包 ...
- Scipy快速入门
Scipy快速入门 注意事项 图床在国外,配合美区.日区网络使用更佳,如遇图片加载不出来,考虑换个VPN吧. 监修中敬告 本文处于Preview阶段,不对文章内容负任何责任,如有意见探讨欢迎留言. 联 ...
- IBM DS5020存储更换硬盘操作
前期准备:笔记本.网线 连接存储控制器操作,在笔记本上安装DS Storage Manager 11 Client,然后在笔记本IP设备为192.168.128.X(A控制器管理口1和2的管理IP地址 ...
- java生成企业公章图片源代码
企业公章图片在电子签章业务中应用广泛,在电子签章应用过程中首先需要生成公章图片,然后再使用公章图片结合数字签名技术完成电子签,这样就实现了从可视化到不可篡改的数字化电子签章功能,以下是企业公章图片生成 ...
- 升级高版本springboot2.6.x:org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
升级springboot高版本2.6.x 项目使用到了springcloud的oauth2依赖,直接升级springboot项目版本为最新 2.6.8(2022年6月16日)将会报以下错误: org/ ...
- 一文了解 Kubernetes
一文了解 Kubernetes 简介:Docker 虽好用,但面对强大的集群,成千上万的容器,突然感觉不香了.这时候就需要我们的主角 Kubernetes 上场了,先来了解一下 Kubernetes ...
- 文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题
五.一个已排好序的数组是一个最小堆吗? 文心一言: 一个已排好序的数组不一定是一个最小堆.最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其父节点 y 的值都小于等于 x 的值.而一个已排 ...
- MySQL篇:第四章_详解DML语言
DML语言 插入 一.方式一 语法: insert into 表名(字段名,...) values(值1,...); 特点: 1.字段类型和值类型一致或兼容,而且一一对应 2.可以为空的字段,可以不用 ...
- 从4个特点为你解密华为云媒体网络底座AND
本文分享自华为云社区<解密华为云媒体网络底座ADN>,作者: Satan.D . 互联网的痛点与解决思路 互联网自1968年起源依赖,已经发展了半个多世纪.互联网仅从中文字面意思,可以简单 ...