「2018山东一轮集训」鸽子

窝也不知道为什么反着BFS就是对的啊QWQ

#include<cstdio>
#define ll long long
using namespace std;
const int N=2005;

int n,k,m,B[2],E[2],H,T,px[N*N],py[N*N];
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
bool M[N][N],v[N][N];

inline bool read(){
	char ch=getchar();
	while(ch!=‘0‘&&ch!=‘1‘) ch=getchar();
	return ch==‘1‘;
}

inline bool solve(){
	if(M[B[0]][B[1]]||M[E[0]][E[1]]) return 0;

	px[H=T=1]=E[0],py[1]=E[1],v[E[0]][E[1]]=1;

	for(int x,y,X,Y,K=1;K<=k;K++){
		H=1;

		while(H<=T){
			x=px[H],y=py[H++];
			for(int i=0;i<4;i++){
				X=x+dx[i]*K,Y=y+dy[i]*K;
				if(X>=0&&X<n&&Y>=0&&Y<m&&!v[X][Y]&&!M[X][Y]) v[X][Y]=1,px[++T]=X,py[T]=Y;
			}
		}

		if(v[B[0]][B[1]]) return 1;
	}

	return 0;
}

int main(){
	scanf("%d%d%d",&n,&m,&k);
	scanf("%d%d%d%d",B,B+1,E,E+1);

	for(int i=0;i<n;i++)
	    for(int j=0;j<m;j++) M[i][j]=read();

	if(solve()) puts("Possible");
	else puts("Impossible");

	return 0;
}

原文地址:https://www.cnblogs.com/JYYHH/p/9190675.html

时间: 2024-10-15 10:57:05

「2018山东一轮集训」鸽子的相关文章

「2018山东一轮集训」 Tree

为什么出题人这么毒瘤啊??!!一个分块还要带log的题非要出成n<=2*1e5....... 为了卡过最后两个点我做了无数常数优化,包括但不限于:把所有线段树改成 存差分的树状数组:把树剖求LCA的极小的log优化成rmq O(1)求LCA:根据测试情况手动调整siz的大小: 但就是死也卡不过去,算了算了QWQ (常规套路,先把1设成根建有根树) 这个题的主要思路就是 对节点的下标分块,设 f[i][j] 为 第i个块内所有点到点j的距离和,然后看如何快速的动态维护这个玩意.... 发现改动一条

loj6102 「2017 山东二轮集训 Day1」第三题

传送门:https://loj.ac/problem/6102 [题解] 贴一份zyz在知乎的回答吧 https://www.zhihu.com/question/61218881 其实是经典问题 # include <stdio.h> # include <string.h> # include <iostream> # include <algorithm> using namespace std; typedef long long ll; typed

七牛云荣获「2018 中国云计算产业领军企业」称号

12 月 20 日,以「驾驭数字化转型走进智能互联时代」为主题的 2018 中国软件大会暨首届 CIO 创新峰会在北京新世纪日航饭店举行. 作为引领中国软件和信息技术服务产业发展的风向标和产业年度盛典,会上,隆重颁发了「2018 中国云计算产业领军企业」奖项.七牛云受邀出席,凭借其在云计算服务领域取得的优异成绩,荣获「2018 中国云计算产业领军企业」称号. 七牛云荣获「2018中国云计算产业领军企业」称号 中国软件大会自创办以来,一直紧跟时代步伐,把握行业热点,保持着高水准的思想内容和前沿观察

P4930「FJ2014集训」采药人的路径

题目:P4930「FJ2014集训」采药人的路径 思路: 这篇不算题解,是让自己复习的,什么都没说清楚. 很久没有写点分治了,以前为了赶课件学的太急,板子都没打对就照着题解写题,导致学得很不扎实. 这道题差不多是在郭老师的指导下一点点凑出来的,还是没能自己完整写出一道题,惭愧. 这道题大意是:给出一棵边权为0/1的树,求满足以下条件的路径总数:0的个数等于1的个数,且路径上存在一点到路径两端也满足该条件. 这种求路径总数的题,可以想到用点分治. 把0看作-1,就可以转化为路径边权和为0. 如果没

读薄「Linux 内核设计与实现」(2) - 进程管理和调度

这篇文章是<读薄「Linux 内核设计与实现」>系列文章的第 II 篇,本文主要讲了以下问题:进程管理的任务.进程管理与其他模块的依赖关系.进程描述符和任务队列.进程的创建.线程的实现.进程的终止.进程调度. 0x00 进程管理的任务 进程能创建新的进程(通过复制现有进程) 确定哪个进程能拥有 CPU 接受中断并将中断导向相应的内核子系统 管理时钟硬件 当一个进程结束时释放其资源 动态装载执行模块 0x01 进程管理与其他模块的依赖关系 I 进程模块的内外界面 对用户进程提供了一组简单的系统调

「七天自制PHP框架」第三天:PHP实现的设计模式

往期回顾:「七天自制PHP框架」第二天:模型与数据库,点击此处 原文地址:http://www.cnblogs.com/sweng/p/6624845.html,欢迎关注:编程老头 为什么要使用设计模式? 设计模式,我的理解是为了达到"可复用"这个目标,而设计的一套相互协作的类. 感兴趣的读者可以阅读<Design Patterns: Elements of Reusable Object-Oriented Software>,四位作者(Gang of Four)在书中列举

「Rancher社区技术支持计划」全面启动

2015年6月 Rancher Labs第一次推出原始测试版Rancher 2016年3月 开源的全栈化容器管理平台Rancher正式版发布 600多个日夜 Rancher推出了共计569个版本 在全球范围内下载量超过1900万次 愈发庞大的开源社区伙伴队伍 愈发频繁的迭代和新功能发布 我们为之欣喜 也生怕因有限的精力 而无法给所有用户更好的技术支持 为了为Rancher用户创造更好的使用体验 为了回应您提出的每一个问题 解决您遇见的每一个故障 重视您发现的每一个bug Rancher Labs

「Mobile Testing Summit China 2016」 中国移动互联网测试大会-议题征集

时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话题,结识业界朋友. 「Mobile Testing Summit China 2016」中国移动互联网测试大会 大会定位:专注移动互联网测试技术的分享会,关注移动互联网质量的有志之士的集会. 大会主旨:秉承着务实.能落地.有深度.高质量.重分享的原则与广大测试工程师做最新最实用的分享与交流,以推广新

Linux 小知识翻译 - 「Linux和CPU的兼容性」

Linux刚开始是作为可运行在 Intel 的 「i386」CPU上,与POSIX兼容的内核来开发的. 而现在主流的Linux是指能在所谓「PC」上运行的内核.「PC」是指采用「IA(intel架构)」的机器. IA(Intel Architecture)虽然「I」是指Intel,但Linux并不是只能运行在Intel生产的CPU上.比如另一个非常大CPU生产商AMD所生产的兼容IA的CPU, 还有其他很多以省电为目的的兼容IA的CPU,这些CPU都可以被称作「IA」. 因此,Linux也就有可