繁忙额图书馆-621-码酷(c++)
来源:互联网 发布:java maven 项目 编辑:程序博客网 时间:2024/06/05 21:49
题目:(来自码酷)
试题编号:0621收 藏 繁忙的图书馆难度级别:C; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B1 0 1 0 1 1
0 0 1 0 0 1
1 1 0 1 0 1
0 0 0 1 0 1
0 0 0 0 0 1
1 2
5 2
这个思路是:
先把周围的部分变成3,然后递归,
如果这个点以前走过或者到边框或者是墙
就返回
否则
这个点变为2,变成可以走
然后试一下周围的能不能走。
难度:普及组
知识点:递归
代码如下:
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
//ifstream cin(".in");
//ofstream cout(".out");
int a[99][99];//数组不要定大,这样就行了!
void f(int y,int x)
{
if(a[y][x]!=0)return ;//如果这个不是可以走(如果这个点以前走过或者到边框或者是墙),就返回
a[y][x]=2;//标记走过
f(y,x+1);
f(y,x-1);
f(y+1,x);
f(y-1,x);//四周
}
int main()
{
int i,j,n,m;
cin>>n>>m;
for(i=0;i<=n+1;i++)
for(j=0;j<=m+1;j++)
a[i][j]=3;//边框
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>a[i][j];//输入
int q,w,e,r;
cin>>q>>w>>e>>r;
f(q,w);
if(a[e][r]==2)
cout<<"OK!"<<endl;//如果这个走过,就输出ok,要不然,就输出no
else
cout<<"NO!"<<endl;
//system ("pause");记住!
return 0;
}
//大家不要抄我的代码去提交,那样没有意思,还是骗自己!
//希望大家喜欢我的程序! =
- 繁忙额图书馆-621-码酷(c++)
- [C/C++]我的图书馆
- 小型图书馆管理系统(C语言实现)
- AI-图书馆(一)
- AI-图书馆(一)
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- P1190 繁忙的都市(Kruskal)
- 系统繁忙 请稍后再试(ALI64)”
- BZOJ1083 繁忙的都市 (洛谷P2330)
- 求:图书馆管理系统C源代码
- 求:图书馆管理系统C源代码
- 求:图书馆管理系统C源代码
- 求:图书馆管理系统C源代码
- 数据结构线性表之定长顺序表
- 【学生】优化-修改密码
- 链接记录
- 【Java面试知识】Java6-Java7-Java8各个版本的新特性
- css简单记忆
- 繁忙额图书馆-621-码酷(c++)
- vxlan介绍
- 陈儒老师的《Python源代码剖析》需要理解的东西(源码解析的pdf文档需要自己网上下载)
- 图解操作系统环境变量
- Java代理之静态、动态代理
- Stream的中间方法与末端方法
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
- 每日积累(一六)---List集合去重
- Docker搭建Java Web环境(Centos6.8+JDK8+tomcat8)