【算法1-3】暴力枚举——First Step
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)。
以下是彩蛋
在 LoveLive!Sunshine!! 动画第一季第三集中,Aqours 队长高海千歌演唱“最喜欢的话就没问题!”到副歌前时,学校因为雷击停电。
解析
暴力枚举。找到所有可以站立的点,然后分别往右和往下找k个位置看看是否符合条件。
需要注意的是,当k=1,也就是只站立一个人的时候,由于程序是分别往右和往下找,所以每个可以站立的点都被计算了两次。因此,在输出结果之前要进行特判,如果k=1就把结果除以2。谢谢你,有被恶心到。
#include<bits/stdc++.h>
using namespace std;
const int N=102;
char c[N][N];
int n,m,sum,k;
bool f(int i,int j,int ni,int nj)
{if(ni>n||nj>m) return false;int s1=0,s2=0;for(int l=i;l<=ni;l++)if(c[l][j]=='.')s1++;else break;for(int l=j;l<=nj;l++)if(c[i][l]=='.')s2++;else break;return (s1==k)||(s2==k);
}
int main()
{cin>>n>>m>>k;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>c[i][j];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(c[i][j]=='.'){sum+=f(i,j,i,j+k-1);sum+=f(i,j,i+k-1,j);}if(k==1)sum/=2;cout<<sum<<endl;
}
【算法1-3】暴力枚举——First Step相关推荐
- 【算法1-3】暴力枚举——PERKET
[COCI2008-2009#2] PERKET 题目描述 Perket 是一种流行的美食.为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道.你有 nnn 种 ...
- 算法基础2 —— OJ入门以及暴力枚举
常见的OJ术语 Accepted (AC)-- 成功过题 Wrong Answer (WA) -- 输出结果错,一般是算法有问题,需要重新考虑思路或者其他 Runtime Error (RE) -- ...
- 【暴力枚举】【JAVA】P3654First Step
题目:P3654 First Step (ファーストステップ) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) ## 思路 双重遍历所有位置(因为是二维表),分别是向下和向右寻找可行 ...
- 算法小课堂(一)暴力枚举
. 目录 一.概念 1.1相关概念 1.2应用场景 1.3局限性 二.相关问题 2.1例题1:统计 2.2例题二 二倍的问题 2.3例题3 奶牛碑文 2.4例四网友年龄 2.5例五生日年龄数 2.6数 ...
- 啊哈算法——第三章:暴力枚举
第三章:暴力枚举 枚举的思想不必多说,此处仅引数中两例. 火柴棍等式 #include <iostream> using namespace std; const int maxn = 1 ...
- 算法模版:暴力搜索之DFS【沈七】
本文已收录于专栏 ⭐️ <算法通关笔记>⭐️ 算法模版:暴力搜索之DFS 前言 基本概念 算法思想 常用模板 三种枚举方式 指数型枚举 排列型枚举 组合型枚举 完结散花 题目练习 参考文章 ...
- 最大字段和 冲出暴力枚举
这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...
- 每日一练蓝桥杯C语言:暴力枚举
在这里我给大家推荐一款不错刷算法学习网站:点击这处链接牛客网:牛客网作为国内内容超级丰富的 IT 题库,各种东西看的我眼花缭乱,题库+面试+学习+求职+讨论+大厂内推等等服务,堪称"互联网求 ...
- 新手入门刷题(专题三)暴力枚举
新手入门刷题(专题三)暴力枚举--->持续更新 4.14 统计方形(数据加强版) 题目描述 有一个 n×m 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 输入格式 一行,两个正整 ...
最新文章
- python配置opencv最简单_(Python)从零开始,简单快速学机器仿人视觉Opencv—第二节:OpenCV的视频操作...
- 好东西和大家分享阿!
- android html5播放器,android Html5播放器混音解决方案
- IDEA中记一次BuildProject不好使的解决过程
- 使用NSURLCache 数据缓存
- 关于在nw里使用require('printer')和nw.require('printer')报错的问题
- n个结点,不同形态的二叉树(数目+生成)
- 没有bug队——加贝——Python 49,50
- 多任务Python爬虫
- mysql日期代码_mysql日期查询操作代码
- [转]Windows Shell编程 第十五章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988016】...
- LeetCode 64.最小路径和(动态规划)
- word文字覆盖问题
- 计算机课题立项申报书范文,专项课题立项申报书模板.doc
- Oracle数据库备份与还原语句
- cdr 表格自动填充文字_常平办公软件培训分享之word表格自动填充序号
- 雨林木风最新万能GHOST系统制作教程
- mysql集群方案参考
- 媛明源科普基金倡议发起婴儿日
- Android 9(P)应用进程创建流程大揭秘
热门文章
- python swapcase用法_python中swapcase是什么意思
- java example使用_关于通用 Mapper Example 使用记录
- notify验签失败及其原因
- python职业发展规划-Python开发者的四大进阶攻略,菜鸟的成神之路
- 基于python的医学图像以辅助医疗系统
- HP EliteDesk 800 G4 DM 35W (Japan) Mini Tower黑苹果efi引导文件
- 什么是外键? 为什么需要外键?怎么使用外键?
- 总线干扰神器——VH6501
- 鼠标右键快捷方式小技巧
- android p支持4.1,版本过老 Android P将不再支持这类应用