2019河北省大学生程序设计竞赛(重现赛) L题-smart robot(深度优先搜索)
题目链接:https://ac.nowcoder.com/acm/contest/903/L


题意:给你 n * n的方阵,你可以从任意一个数字开始走,可以走上下左右四个方向,走过的数字会被拼合,拼合的数字没有前导0,问最小不能拼合出来的数字是多少?
思路:开始就认为是一道深搜题,后面自己想太多就没去试,醉了orz! 这题就是把每个数字作为起点开始搜索,把已经搜索过的数字进行标记,然后从0开始检索,输出第一个未出现的数字就是答案。搜索的话我代码是搜5位数的所有组合,事实上这道题搜索3位数的所有组合就能过,搜索6位数就会TLE。下图是我的测试图:

AC代码:
#include<cstdio>
#include<iostream>
#include<set>
#include<cstring>
using namespace std;
int n;
int vis[][];
int dx[] = {,,,-};
int dy[] = {-,,,};
set< int > st;
bool check(int x,int y)
{
if(x >= && x < n && y >= && y < n) return true;
else return false;
}
void dfs(int x,int y,int ans,int dep)
{
st.insert(ans);
for(int i = ;i < ;i++)
{
int nx = x + dx[i],ny = y + dy[i];
if(check(nx,ny) && dep > )
dfs(nx,ny,ans* + vis[nx][ny],dep-);
}
}
int main()
{
scanf("%d",&n);
for(int i = ;i < n;i++)
{
for(int j = ;j < n;j ++)
{
scanf("%d",&vis[i][j]);
}
}
for(int i = ;i < n;i++)
{
for(int j = ;j < n;j ++)
{
dfs(i,j,vis[i][j],);//这里搜索5位数的组合
}
}
int cnt = ;
while(st.count(cnt) != ) cnt++;
cout << cnt << endl;
st.clear();
return ;
}
2019河北省大学生程序设计竞赛(重现赛) L题-smart robot(深度优先搜索)的更多相关文章
- 2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)
题目链接:https://ac.nowcoder.com/acm/contest/903/B 题意: 给你 q,n,p,求 q1+q2+...+qn 的和 模 p. 思路:一开始不会做,后面查了下发现 ...
- 2019河北省大学生程序设计竞赛(重现赛)J-舔狗 (拓扑排序)
题目链接:https://ac.nowcoder.com/acm/contest/903/J 题意:给你 n 个舔狗和他喜欢的人,让你俩俩配对(只能和喜欢它的和它喜欢的),求剩下的单身狗数量. 思路: ...
- 【湖南师范大学2018年大学生程序设计竞赛新生赛 L】【HDOJ2476】【区间DP】
https://www.nowcoder.com/acm/contest/127/L L 小小粉刷匠 题目描述 "lalala,我是一个快乐的粉刷匠",小名一边快活地唱着歌,一边开 ...
- 舔狗【2019河北省大学生程序设计竞赛 J题】
题目描述 > “舔狗舔狗,> 舔到最后,> 一无所有.” 有 n 只舔狗,每只舔狗的心中都有自己朝思暮想的一位. 每个人虽然受到了一万次拒绝,还毅然第一万零一次鼓起勇气. 作为一个不 ...
- “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 C-Cities
题目描述:There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirec ...
- 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛(8/11)
$$2019中国大学生程序设计竞赛(CCPC)\ -\ 网络选拔赛$$ \(A.\hat{} \& \hat{}\) 签到,只把AB都有的位给异或掉 //#pragma comment(lin ...
- [BFS,A*,k短路径] 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 path (Problem - 6705)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6705 path Time Limit: 2000/2000 MS (Java/Others) Mem ...
- [贪心,dp] 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 Fishing Master (Problem - 6709)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6709 Fishing Master Time Limit: 2000/1000 MS (Java/Othe ...
- 2013年山东省第四届ACM大学生程序设计竞赛-最后一道大水题:Contest Print Server
点击打开链接 2226: Contest Print Server Time Limit: 1 Sec Memory Limit: 128 MB Submit: 53 Solved: 18 [Su ...
随机推荐
- MySQL 关于case when结合group by用时的写法举例
原表是个员工档案,共583人,但case when结合group by用时,写法不同,其出来的结果也不同 例1: select distinct a.Branch,case when kultur = ...
- 如何在原生Android项目里嵌入Cordova
背景: 这段时间在维护一个Cordova混合项目,以前稍微接触过Cordova,也写过简单的纯纯的Cordova的Demo,但是没有尝试过混合原生的Cordova. 在接到项目后比较了一下项目架构和C ...
- IO Processing
Types of IO IRP Buffer Management 首先区分一下page的内存与nonpaged的内存,内存如果用页管理,就难免面对被swap out的命运:但是如果用nonpaged ...
- python作业/练习/实战:生成双色球小程序
作业要求: 每注投注号码由6个红色球号码和1个蓝色球号码组成.红色球号码从1--33中选择:蓝色球号码从1--16中选择 代码范例 import random all_red_ball = [str( ...
- linux python3换pip 源
linux下python3 pip 安装模块 # python3 -m pip install pymysql 1)检查pip.conf文件是否存在 >> cd ~ > ...
- 数据持久化之Android文件系统(一)
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680 一.前言 文件系统一直是Android开发过程中经常接触的东西.而关于内 ...
- AOP之PostSharp2-OnMethodBoundaryAspect
在上一篇中我们了解了简单的OnExceptionAspectAOP面向方向切入,在第一节中我们将继续我们的PostSharp AOP系列的OnMethodBoundaryAspect方法行为的切入,这 ...
- 使用Nuget重新安装packages.config中的组件的方法
Update-Package -ProjectName 'Ko.app.web' -Reinstall 该语句作用:按照packages.config中给出的程序组件,重新下载安装一遍.
- Vue_子级组件调用主组件函数
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- postgresql 取出分组中最大的几条数据
WITH Name AS ( SELECT * FROM ( SELECT xzqdm, , ) xzdm, COUNT (*) sl FROM sddltb_qc WHERE xzqdm ') GR ...