题目选自洛谷P3654

本题遍历每一个可以站人的点,然后利用dfs的思路判断每一个点向下和向右是否能满足条件;但是k=1时需要特判,因为k=1意味着向下和向右重复计算,需要除以2。

注意在dfs前先判断  如果此路行不通就先返回了,不用接着往下递归

题目背景
知らないことばかりなにもかもが(どうしたらいいの?)

一切的一切 尽是充满了未知数(该如何是好)

それでも期待で足が軽いよ(ジャンプだ!)

但我仍因满怀期待而步伐轻盈(起跳吧!)

温度差なんていつか消しちゃえってね

冷若冰霜的态度 有朝一日将会消失得无影无踪

元気だよ元気をだしていくよ

拿出活力 打起精神向前迈进吧

我们Aqours,要第一次举办演唱会啦!

虽然学生会长看上去不怎么支持我们的样子,可是有了理事长的支持,我们还是被允许在校内的篮球场里歌唱!

歌曲也好好地准备过了,名字叫“最喜欢的话就没问题! (ダイスキだったらダイジョウブ!)“,大家一定会喜欢的吧!

演唱会一定会顺利进行的!

希望不要发生停电什么的事故哦……!

题目描述
可是……这个篮球场,好像很久没有使用过的样子啊……

里面堆满了学校的各种杂物呢……

我们Aqours的成员要怎么在里面列队站下呢?

我们浦之星女子学院的篮球场是一个R行C列的矩阵,其中堆满了各种学校的杂物 (用"#"表示),空地 (用"."表示) 好像并不多的样子呢……

我们Aqours现在已经一共有K个队员了,要歌唱舞蹈起来的话,我们得排成一条1*K的直线,一个接一个地站在篮球场的空地上呢 (横竖均可)。

我们想知道一共有多少种可行的站位方式呢。

Aqours的真正的粉丝的你,能帮我们算算吗?

输入格式
第一行三个整数 R, C, K。

接下来的R行C列,是浦之星女子学院篮球场。

输出格式
总共的站位方式数量。

输入输出样例
输入 1

5 5 2
.###.
##.#.
..#..
#..#.
#.###

输出 1

8

说明/提示

R        C                     K                   备注
1-2      <=10     <=10       <=min(R,C)          无
3-4      <=100    <=100      1                        无        
5-6      <=100    <=100      <=min(R,C)     没有障碍
7-10     <=100    <=100      <=min(R,C)      无

以下是彩蛋
在LoveLive!Sunshine!!动画第一季第三集中,Aqours队长高海千歌演唱“最喜欢的话就没问题!”到副歌前时,学校因为雷击停电。

解题代码:

#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
int r,c,k,ans;
char mp[101][101];
int nt[2][2]={{0,1},{1,0}};
void dfs(int x,int y,int i,int j){if(j>k){ans++;return;}if(mp[x][y] !='.' || x<0 || y <0 || x>=r || y >=c)return;dfs(x+nt[i][0],y+nt[i][1],i,j+1);
}
int main(){cin>>r>>c>>k;for(int i=0;i<r;i++)for(int j=0;j<c;j++)cin>>mp[i][j];for(int i=0;i<r;i++)for(int j=0;j<c;j++)if(mp[i][j]=='.')for(int k=0;k<2;k++)dfs(i,j,k,1);if(k==1)ans /=2;cout<<ans<<endl;return 0;
}

深度优先搜索——First Step(洛谷 P3654)相关推荐

  1. 深度优先搜索——选数(洛谷 P1036)

    今天的题是一道深度优先搜索的题 题目链接 选自洛谷(P1036) 是一道很经典的DFS问题 首先我们先看一下题目是怎么描述的,读完题目我会在后面给出详细的思路! 题目描述 已知 nn 个整数 x_1, ...

  2. 深度优先搜索——单词方阵(洛谷 P1101)

    题目选自洛谷P1101 这道题也是挺不错的DFS的题,但是区别于一般的深搜, 这道题在选定一个方向后,就不能改变了! 给出我的详细思路就是: 用char a[101][101]保存输入的数据,int ...

  3. 洛谷 P3654 First Step (ファーストステップ)

    P3654 First Step (ファーストステップ) 题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプ ...

  4. 洛谷:P3654 First Step (ファーストステップ)

    题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプだ!) 但我仍因满怀期待而步伐轻盈(起跳吧!) 温度差なん ...

  5. 洛谷-P3654 First Step (ファーストステップ)

    题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプだ!) 但我仍因满怀期待而步伐轻盈(起跳吧!) 温度差なん ...

  6. 洛谷P3654 First Step (ファーストステップ)

    题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプだ!) 但我仍因满怀期待而步伐轻盈(起跳吧!) 温度差なん ...

  7. FirstStep(洛谷P3654题题解,Java语言描述)

    题目要求 题目链接 分析 题意简单的说就是找连续的 "." . 必须是水平连续或是垂直连续. 当然是开一个暴力的搜索算法啦! 从开始搜到最后,每次只搜右向和下向,避免重复搜索,注意 ...

  8. 专题·深度优先搜索(DFS)【including 2N皇后,等边三角形,中国邮递员问题

    初见安~这篇我们来讲讲深搜(DFS) 前文我们讲过了递归[这里是递推递归],这里我们就要运用到啦~ 所谓深搜,也顾名思义就是在深度上搜索,到了尽头则返回上一层,换一条路继续搜--也就是递归思想. 先看 ...

  9. 深度优先搜索——自然数的拆分问题(洛谷 P2404)

    题目选自洛谷P2404 题目显然是用DFS来做,需要注意的是 结果是从小到大的,所以同一种答案不同位置都只算一种,所以在dfs的时候 我们每次从上一次的值开始搜索即可. 用数组p[9]的1-8下标位置 ...

最新文章

  1. java画满天星_java_java实现的满天星效果实例,本文实例讲述了java实现满天星 - phpStudy...
  2. HbuilderX跳转 / 定义快捷键
  3. 【机器视觉】 fuzzy_measure_pairing算子
  4. linux 更改文件和目录权限
  5. delphi XE 學習筆記二:TThread.CreateAnonymousThread
  6. python做大数据可视化软件_四款最受欢迎的大数据可视化工具
  7. java web整合开发pdf_Java Web整合开发王者归来.pdf
  8. wordpress图文安装教程 非常详细
  9. 计算机网络技术-Mooc
  10. 比官方更简洁的Tensorflow入门教程
  11. 期货交易应该如何界定交易中的时间周期?
  12. 小程序 身份认证服务器,如何实现微信小程序与.net core应用服务端的无状态身份验证...
  13. 夏侯王朝 - (王室族谱)
  14. Revit二次开发之技能篇(一)———轴网自动对齐
  15. Firefox for Android 代理设置
  16. arcgis直方图导出地图_利用Arcgis地图工具自动输出报告地图图纸
  17. RNNLSTM学习总结
  18. 机器人行业发展方向预测报告
  19. Linux学习问题篇
  20. Android实现卡拉OK字幕效果方法

热门文章

  1. 在页面中给flash加链接
  2. python中的 生产者和消费者
  3. 软件测试 学习之路 linux vim编辑器
  4. python循环体执行的次数与其他不同的是_【单选题】下面Python循环体执行的次数与其他不同的是( )...
  5. es6 Symbol 的内置属性
  6. a3967驱动_以A3967SLB为核心的步进电机控制系统设计
  7. Git笔记(16) 变基
  8. sql server ssl安全错误_渗透测试 丨 SQL注入的攻与防
  9. c语言malloc和直接声明,问下关于malloc的声明问题
  10. 《Linux 鸟哥私房菜》 第一部分 Linux文件、目录与磁盘格式