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

题目背景

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

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

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

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

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

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

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

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

我们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 <iostream>
#include <cstdio>
using namespace std;
int fx[5]={1,-1,0,0},fy[5]={0,0,-1,1};
char jz[101][101];
int Answer,r,c,k,i,j;
int pd(int x,int y)
{
    int zg=0;
    int h=0;
    int a=x,b=y;
    while(jz[a][b]==‘.‘)
    {
        a+=fx[0];b+=fy[0];
        h++;
        if(h==k) {zg++;break;}
    }
    h=0;
    a=x,b=y;
    while(jz[a][b]==‘.‘)
    {
        a+=fx[1];b+=fy[1];
        h++;
        if(h==k) {zg++;break;}
    }
    h=0;
    a=x,b=y;
    while(jz[a][b]==‘.‘)
    {
        a+=fx[2];b+=fy[2];
        h++;
        if(h==k) {zg++;break;}
    }
    h=0;
    a=x,b=y;
    while(jz[a][b]==‘.‘)
    {
        a+=fx[3];b+=fy[3];
        h++;
        if(h==k) {zg++;break;}
    }
    return zg;
}
int main()
{
    scanf("%d%d%d",&r,&c,&k);
    int z=0;
    for(i=0;i<r;++i)
    {
        for(j=0;j<c;++j)
        {
            cin>>jz[i][j];
            if(jz[i][j]==‘.‘) z++;
        }
    }
    if(k==1)
    {
        printf("%d",z);
        return 0;
    }
    for(i=0;i<r;++i)
    {
        for(j=0;j<c;++j)
        if(jz[i][j]==‘.‘) Answer+=pd(i,j);
    }
    printf("%d",Answer/2);
    return 0;
}
时间: 2025-01-08 21:58:08

P3654 First Step (ファーストステップ)的相关文章

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

P3654 First Step (ファーストステップ) 题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプだ!) 但我仍因满怀期待而步伐轻盈(起跳吧!) 温度差なんていつか消しちゃえってね 冷若冰霜的态度 有朝一日将会消失得无影无踪 元気だよ元気をだしていくよ 拿出活力 打起精神向前迈进吧 我们Aqours,要第一次举办演唱会啦! 虽然学生会长看上去不怎么支持我们的样子,可是有了理事长的支持,我们还是被

hdu 4735 Little Wish~ lyrical step~(DLX)

题目链接:hdu 4735 Little Wish~ lyrical step~ 题意: 有n个节点的树,每个节点可能是男孩,可能是女孩,节点之间有距离,现在要让所有的女孩周围距离D之内有男孩,问最小需要交换多少次男孩和女孩的位置. 题解: 把每个节点对小于D距离的全部link起来,然后DLX爆艹,意义就是选n个节点去覆盖全部节点,如果这个节点是女生,那么就是要替换的点.然后不断更新答案. 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int

ASP.NET MVC轻教程 Step By Step 6——改进表单

上一节我们使用原始的HTML表单来完成留言功能,但是ASP.NET MVC提供了丰富的HTML辅助方法来帮助我们构建更简洁优雅的表单. Step 1. 修改Form标签 首先,我们可以使用Html.BeginForm来创建form标签.这样我们可以将原来的表单改成如下代码. @{Html.BeginForm("Save", "Home"); } <label for="nickname">昵称</label> <in

EGit with eclipse to clone project from GitHub(Step by step)

转载请注明出处! 1. To find your project URL inside GitHub: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFvbWluaHVh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 2. Go to your eclipse, assume that you already install the EGI

数论之高次同余方程(Baby Step Giant Step + 拓展BSGS)

什么叫高次同余方程?说白了就是解决这样一个问题: A^x=B(mod C),求最小的x值. baby step giant step算法 题目条件:C是素数(事实上,A与C互质就可以.为什么?在BSGS算法中是要求a^m在%c条件下的逆元的,如果a.c不互质根本就没有逆元.) 如果x有解,那么0<=x<C,为什么? 我们可以回忆一下欧拉定理: 对于c是素数的情况,φ(c)=c-1 那么既然我们知道a^0=1,a^φ(c)=1(在%c的条件下).那么0~φ(c)必定是一个循环节(不一定是最小的)

Error page: /admin/makehtml_all.php?action=make&amp;step=10

DedeCMS Error Warning!Technical Support: http://bbs.dedecms.comError page: /admin/makehtml_all.php?action=make&step=10Error infos: 无法使用数据库 dedecms,在后台更新网站的时候提示这样的错误应该怎么解决? 织梦代码对数据库错误信息做了自定义,根据代码提供的信息分析不出具体原因来检查MYSQL数据库是否可连接,数据库账号口令及权限是否正确 <?php req

ASP.NET MVC轻教程 Step By Step 8——路由

在前面的教程里,细心的你可能会有个疑问,就是地址栏输入/Home/Write就可以进入留言页面.无论是静态HTML还是ASP/ASP.NET.PHP,URL都是和某个页面相关.比如假设有个URL是“www.xxx.com/index.aspx?id=1",浏览器请求的页面是index.aspx,同时带有名为id值为1的参数.那为什么输入/Home/Write可以进入留言页面?你可能会认为其中Write是与write.cshtml对应,其实不然,动作方法名与视图名相同是约定,并不是铁律,我们完全可

(hdu step 1.3.8)Who&#39;s in the Middle(排序)

题目: Who's in the Middle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2938 Accepted Submission(s): 1109   Problem Description FJ is surveying his herd to find the most average cow. He wants to k

Git Step by Step – (8) Git的merge和rebase

前面一篇文章中提到了"git pull"等价于"git fetch"加上"git merge",然后还提到了pull命令支持rebase模式,这篇文章就介绍一下merge和rebase之间有什么差别. 由于我们主要是想看看merge跟rebase之间的区别,这里就是用本地仓库的分支进行演示了. merge 其实在介绍分支的那篇文章中已经介绍过了一些分支merge的内容,这里就进行一些补充和总结. 下面我们基于本地一个仓库开始介绍,当前仓库的分支情