First Step (ファーストステップ)

题目背景

知らないことばかりなにもかもが(どうしたらいいの?)
一切的一切 尽是充满了未知数(该如何是好)
それでも期待で足が軽いよ(ジャンプだ!)
但我仍因满怀期待而步伐轻盈(起跳吧!)
温度差なんていつか消しちゃえってね
冷若冰霜的态度 有朝一日将会消失得无影无踪
元気だよ元気をだしていくよ
拿出活力 打起精神向前迈进吧

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

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

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

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

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

题目描述

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

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

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

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

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

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

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

输入格式

第一行三个整数 R,C,KR, C, KR,C,K。

接下来的 RRR 行 CCC 列,表示浦之星女子学院篮球场。

输出格式

总共的站位方式数量。

样例 #1

样例输入 #1

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

样例输出 #1

8

提示

RRR CCC KKK 备注
1∼21\sim21∼2 ≤10\leq 10≤10 ≤10\leq 10≤10 ≤min⁡(R,C)\leq \min(R,C)≤min(R,C)
3∼43\sim43∼4 ≤100\leq 100≤100 ≤100\leq 100≤100 ≤1\leq 1≤1
5∼65\sim65∼6 ≤100\leq 100≤100 ≤100\leq 100≤100 ≤min⁡(R,C)\leq \min(R,C)≤min(R,C) 没有障碍
7∼107\sim107∼10 ≤100\leq 100≤100 ≤100\leq 100≤100 ≤min⁡(R,C)\leq \min(R,C)≤min(R,C)

对于所有数据,1≤R,C≤1001 \leq R,C \leq 1001≤R,C≤100,1≤k≤min⁡(R,C)1 \leq k \leq \min(R,C)1≤k≤min(R,C)。

分析

  1. 题意:看看有多少个连续的’.‘字符,长度为k;直接暴力枚举每一行、每一列,从每个字符开始向后看看有多少个连续的’.',大于k既满足题意,然后紧接着从下一个字符再开始同样操作。
  2. 需要注意是需要连着的,1*k,一开始以为一行或者一列满足k个即可,正好和样例对上后来wa了,发现原来必须是连续的k个’.'才算一种站法;
#include<bits/stdc++.h>using namespace std;int r, c, k, ans;
char a[110][110];int main() {std::ios::sync_with_stdio(false);cin.tie(nullptr);cin >> r >> c >> k;for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {cin >> a[i][j];}}//行for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {int cnt = 0;//以(i,j)开始,向右有几个连续的'.'for (int k = j; k <= c; k++) {if (a[i][k] == '#')break;cnt++;}if (cnt >= k)ans++;}}//列for (int i = 1; i <= c; i++) {for (int j = 1; j <= r; j++) {int cnt = 0;//以(i,j)开始,向下有几个连续的'.'for (int k = j; k <= c; k++) {if (a[k][i] == '#')break;cnt++;}if (cnt >= k)ans++;}}if (k != 1)cout << ans;elsecout << ans / 2;return 0;
}

P3654 First Step (ファーストステップ)——暴力枚举相关推荐

  1. 【暴力枚举】【JAVA】P3654First Step

    题目:P3654 First Step (ファーストステップ) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) ## 思路 双重遍历所有位置(因为是二维表),分别是向下和向右寻找可行 ...

  2. 【算法1-3】暴力枚举——First Step

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

  3. 新手入门刷题(专题三)暴力枚举

    新手入门刷题(专题三)暴力枚举--->持续更新 4.14 统计方形(数据加强版) 题目描述 有一个 n×m 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 输入格式 一行,两个正整 ...

  4. day 20 暴力枚举

    P3392 涂国旗 涂最少的格子(枚举) #include <bits/stdc++.h> using namespace std;int n, m, ans = 1e9; char a[ ...

  5. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  6. codeforces数学1600day6[CodeForces - 1029C多区间交+枚举,CodeForces 992C[数学公式推导],CodeForces 992B[质因数分解+暴力枚举]]

    A - Maximal Intersection CodeForces - 1029C 题目大意:就是给你n个区间,这n个区间有公共的区间长度为x,现在叫你从这n个区间中删掉一个使得x最大化. 解题思 ...

  7. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  8. hdu 4587 TWO NODES 暴力枚举+tarjan

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 题意是拿掉两个点 求最多可以把整个图分成几个联通块 注意到有一个模板是可以通过找割点来快速求出 ...

  9. 一道暴力枚举题Win32版本示例

    来看一个问题:该问题的解法是 暴力枚举:这大概是ACM方面的:名称叫火柴棒等式: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数( ...

最新文章

  1. Azkaban入门(启动一个Simple Example)
  2. hbase 修改表名_HBase学习——2.HBase原理
  3. SAX解析xml (遍历DOM树各节点)
  4. android系统release签名
  5. SAP IDOC开发
  6. 在js中如何判断一个对象是否为空
  7. vue :class 动态绑定样式_Notes04vbind动态绑定class
  8. 【面向对象设计原则】之依赖倒置原则(DIP)
  9. Django exclude操作
  10. css怎么修改图片像素,怎么改变图片宽度_word怎么改变图片像素大小
  11. 云计算时代:PC会消亡吗?
  12. 老钓友分享蚯蚓钓鲤鱼配方
  13. 是真正的发现,还是可耻的堕落?
  14. 地理生物结业考_今年我初二,明天我地理生物结业考,但是我现在啥都不会,我应该怎么办?...
  15. 树莓派4b入门之开发RFID系统—两种MFRC522读写脚本
  16. 惊天大突破!「我国数学家证明 NP=P」!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
  17. win10电脑耳机没有声音 如何在不重启电脑情况下耳机重新有声音
  18. 长铗:搭积木无法建筑DeFi摩天楼,Bytom用工程思维构建MOV宇宙
  19. DiskGenius
  20. GIS基础(4)常见的GIS数据格式

热门文章

  1. GitHub上25个最受欢迎的开源机器学习库
  2. 2021年上半年软件设计师上午真题及答案解析(三)
  3. JAVA实现功能的方法
  4. Rigidbody.AddForce 添加力
  5. 她让我把电脑带回家。 -您是如何开始计算机和编程的?
  6. 在JitPack上发布Android库
  7. 随笔-OC获取系统时间,获取绝对时间,获得真实时间
  8. 有回路的有穷自动机转化为正规式的方法
  9. 推荐给比较好用FF插件
  10. 【C语言】如何理解【void(*)(void)】