1010acm 有疑问
1010
===
不知道为什么一直超时我心碎了曹操草,有大神给看看么??
#include<cstdlib>
#include<cstdio>
#include<string.h>
#include<cmath>
#include<iostream>
using namespace std;
struct Point
{
int x;
int y;
int destence;
}start_point,end_point;
int size_x,size_y;
/*struct Direction
{
int dir_x;
int dir_y;
}up,left,right,down;
up.dir_x = 0;
up.dir_y = 1;
left.dir_x = -1;
left.dir_y = 0;
right.dir_x = 1;
right.dir_y = 0;
down.dir_x = 0;
down.dir_y = -1;*/
int direction[4][2] = {{0,1},{0,-1},{1,0},{0,1}};// up down left down
char str_map[10][10] = {0};
bool my_find = false;
int my_time;
void DFS(int x,int y,int count)
{
int road_to_go ;
if(my_find == true)
return;
if(x == end_point.x && y == end_point.y && count == my_time)
{
my_find = true;
return;
}
road_to_go = (my_time - count) - (abs(x-end_point.x) + abs(y-end_point.y));
if(road_to_go % 2 ==1 || road_to_go < 0)
{
return;
}
for(int i = 0; i < 4; i++)
{
if(x + direction[i][0] < 0 || x + direction[i][0] > size_x - 1 || y + direction[i][1] < 0 || y + direction[i][1] > size_y -1 )
{
continue;
}
if(str_map[x + direction[i][0]][y + direction[i][1]]!= 'X' && str_map[x + direction[i][0]][y + direction[i][1]]!= 'x')
{
str_map[x+direction[i][0]][y + direction[i][1]] = 'X';
DFS(x + direction[i][0], y + direction[i][1],count+1);
str_map[x+direction[i][0]][y + direction[i][1]] = '.';
}
if(my_find == true)
{
return;
}
}
}
int main()
{
int i,j;
int sum_time = 0;
int wall_count = 0;
while(scanf("%d %d %d",&size_x,&size_y,&my_time)!=EOF)
{
my_find = false;
sum_time = 0;
wall_count = 0;
memset(str_map,0,sizeof(str_map));
if(size_x == 0 && size_y == 0 && my_time == 0)
break;
for(i = 0;i < size_x ;i++)
{
for(j = 0; j < size_y;j++)
{
cin>>str_map[i][j];
if(str_map[i][j] == 'S')
{
start_point.x = i;
start_point.y = j;
str_map[i][j] = 'X';
}
if(str_map[i][j] == 'D')
{
end_point.x = i;
end_point.y = j;
end_point.destence = 0;
}
if(str_map[i][j] == 'X')
wall_count++;
}
//getchar();
}
if(size_x*size_y - wall_count >= my_time)
{
DFS(start_point.x,start_point.y,0);
}
if(my_find == true)
{
cout<<"YES"<<endl;
}
else
{
cout<<"NO"<<endl;
}
}
}
1010acm 有疑问的更多相关文章
- 阶段一:用Handler和Message实现计时效果及其中一些疑问
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 本来是打算继续做天气预报的优化的,但因为某些原因,我要先把之前做的小应用优化一下.所以今天就插播一下用Handle ...
- sys.dm_os_waiting_tasks 引发的疑问(中)
上一篇我们说了一下sys.dm_exec_requests 和 sys.dm_os_waiting_tasks 在获取并行等待的时候得不同结果,这一篇我们谈论下我的第二个疑问:为什么一个并行计划(4线 ...
- sys.dm_os_waiting_tasks 引发的疑问(上)
很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等 ...
- 关于C#调用非托管动态库方式的性能疑问
最近的项目中,因为一些原因,需要C#调用非托管(这里为C++)的动态库.网上喜闻乐见的方式是采用静态(DllImport)方式进行调用.偶然在园子里看到可以用动态(LoadLibrary,GetPro ...
- 廖雪峰Python教程疑问
1. 字符串的strip()方法 原文: “把一个序列中的空字符串删掉,可以这么写: def not_empty(s): return s and s.strip() list(filter(not_ ...
- (转)对SQLSERVER数据库事务日志的疑问
本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...
- 增量式PID计算公式4个疑问与理解
一开始见到PID计算公式时总是疑问为什么是那样子?为了理解那几道公式,当时将其未简化前的公式“活生生”地算了一遍,现在想来,这样的演算过程固然有助于理解,但假如一开始就带着对疑问的答案已有一定看法后再 ...
- python魔法函数的一些疑问
看了魔法函数,有一点疑问.1中需要用self.word才能执行,而2直接用self就可以执行.而1中Word继承了int基本类型,但在__new__时并没有什么卵用.当用 Word(“123”)来实例 ...
- 字符串、字符、字节以及bit位小结与疑问
字符串是由一个个字符组成的,每个字符又有一个或多个字节来表示,每个字节又由8个bit位来表示 在C#里 字符串通常由string来声明,字符由char来声明,字节由byte来表示,位由bit来表示,具 ...
- 括号配对nyoj2(疑问)
描述现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长 ...
随机推荐
- pytorch 实战教程之 SPP(SPPNet---Spatial Pyramid Pooling)空间金字塔池化网络代码实现 和 SPPF (Spatial Pyramid Pooling Fast)详解
原文作者:aircraft 原文链接:pytorch 实战教程之 SPP(SPPNet---Spatial Pyramid Pooling)空间金字塔池化网络代码实现 和 SPPF (Spatial ...
- 如何使用Streamlit快速创建仪表盘?
上文有快速带大家了解streamlit,因为工作需要,这两天尝试构建了仪表盘,也就是咱们常说的Dashboard,本篇文章将教你如何使用 Streamlit 快速创建一个简单的仪表盘. 前言 Stre ...
- 【完结】【一本通提高】KMP做题记录
题目编号 标题 估分 正确 提交 Y 2076 Problem A [一本通提高篇KMP]剪花布条 --- 156 293 Y 2077 Problem B [一本通提高篇KMP]Radio Tr ...
- php 设置友好时间
public static function formatTime($time){ if (is_int($time)) { $time = intval($time); } elseif ($tim ...
- 需要的效果它都有,让AI对话开发效率翻倍!这款Ant Design扩展组件库绝了
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 ant-design-x-vue 是基于 Ant Design Vue 的扩展组件库,专注于 ...
- XXL-JOB v3.0.0 | 分布式任务调度平台
Release Notes 1.[升级]调度中心升级至 SpringBoot3 + JDK17: 2.[升级]Docker镜像升级,镜像构建基于JDK17: 3.[优化]IP获取逻辑优化,优先遍历网卡 ...
- 《原型设计工具深度解析:Axure到墨刀的实战指南》
原型设计工具深度解析:从Axure到墨刀的实战应用 项目背景 "Shou学"作为信息学院本科必修课指南平台,需通过高保真原型实现课程导航.知识点拆解.习题模拟等核心功能.本文结合& ...
- 基于Jetson Nano与PyTorch的无人机实时目标跟踪系统搭建指南
引言:边缘计算赋能智能监控 在AIoT时代,将深度学习模型部署到嵌入式设备已成为行业刚需.本文将手把手指导读者在NVIDIA Jetson Nano(4GB版本)开发板上,构建基于YOLOv5+SOR ...
- js技术之“自定义包含方案”
调用 // 用于判断包含 function diaoyong(arr, str){ // 初始化 var sizes = ['L','XL','S','M']; for (var i = 0; i & ...
- IDEA设置之“代码提示不区分大小写”
作用 代码提示不区分大小写 案例1 案例2