2801 LOL-盖伦的蹲草计划

时间限制: 1 s

 空间限制: 256000 KB
 题目等级 : 黄金 Gold
 
 
题目描述 Description

众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄。他的伟大之处在于他特别喜欢蹲草丛阴人(XL:蹲草阴人也算英雄?!CZQ:没办法,个个都是这么玩的)。某日,德玛西亚与诺克萨斯之间又发生了一场战斗,嘉文四世希望盖伦能带领一支K人的德玛西亚军队出战。

战斗发生在召唤师峡谷。整个召唤师峡谷被分割成M行N列的一个矩阵,矩阵中有空地和几片草丛。这几片草丛中有些很大、有些很小。一个1×1的草丛能容纳3个士兵,盖伦坚信蹲草偷袭战术能战胜诺克萨斯军队,所以他希望他的军队能全部蹲进草丛里。当然,为了不影响盖伦的作战,盖伦需要单独霸占连起来的一片草丛(不管草丛有多大)。

输入描述 Input Description

第一行M、N、K,表示矩阵的行数、列数和士兵数量。
接下来M行,输入矩阵,'.'代表平地,'*'代表草丛。

输出描述 Output Description

如果德玛西亚军队和盖伦都能躲进草丛里,则输出“Demacia Win!”,否则输出“Demacia Lose!”

样例输入 Sample Input

3 3 6
.**
...
.*.

样例输出 Sample Output

Demacia Win!

数据范围及提示 Data Size & Hint

1<=m、n<=1500
1<=k<=1500
P.S:这里对于两个1×1的草丛是否连在一起的定义是:对于每个1×1的草从,它与周围(上下左右)的草丛是连在一起的。

分类标签

思路:dfs+剪枝,不然会爆栈;

 #include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define max(a,b) a>b?a:b;
int n,m,k,tem,dir[][]={{,},{-,},{,},{,-}};
char a[][];
long long int cnt,an;
void dfs(int si,int sj)
{
a[si][sj]='*';
int xx,yy;
for(int i=;i<;i++)
{
xx=si+dir[i][];
yy=sj+dir[i][];
if(xx>=&&xx<m&&yy>=&&yy<n&&a[xx][yy]=='.')
{
cnt++;
if(*cnt>=k)
return;
dfs(xx,yy); }
else
continue;
}
return ;
}
int main()
{
scanf("%d%d%d",&m,&n,&k);
int i,j;
for(i=;i<m;i++)
{
scanf("%s",a[i]);
}
for(i=;i<m;i++)
{
for(j=;j<n;j++)
{
if(a[i][j]=='.')
{
cnt=;
dfs(i,j);
an=max(cnt,an);
}
if(*an>=k)
break;
}
if(*an>=k)
break;
}
if(*an>=k)
printf("Demacia Win!\n");
else
printf("Demacia Lose!\n"); return ;
}

2801 LOL-盖伦的蹲草计划的更多相关文章

  1. Codevs 2801 LOL盖伦的蹲草计划

    题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄.他的伟大之处在于他特别喜欢蹲草丛阴人(XL:蹲草阴人也算英雄?!CZQ:没办法,个个都是这么玩的).某日,德玛西亚与 ...

  2. codevs 2801 LOL-盖伦的蹲草计划

     时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄.他的伟大之处在于他特别喜欢蹲 ...

  3. 72.2801 LOL-盖伦的蹲草计划(广搜)

    时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄.他的伟大之处在 ...

  4. 面向对象text 01 盖伦vs瑞文vs提莫

    ''' Text For Class: League of Legends Garen vs Riven vs Teemo ''' import random # 全局随机 import time c ...

  5. codevs 搜索题汇总(黄金级)

    2801 LOL-盖伦的蹲草计划  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold   题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖 ...

  6. 【Python3之面向对象的程序设计】

    一.面向对象的程序设计的由来 1.第一阶段:面向机器,1940年以前 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数据. 简单来说,就是直接编写 0 和 1 ...

  7. python之面相对象程序设计

    一 面向对象的程序设计的由来 面向对象设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 面向对象的程序设计:路飞学院版 ...

  8. python学习------面向对象的程序设计

    一 面向对象的程序设计的由来 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 和 的序列来代表程序语言 ...

  9. Python之路【第八篇】:面向对象的程序设计

    阅读目录 一 面向对象的程序设计的由来二 什么是面向对象的程序设计及为什么要有它三 类和对象3.1 什么是对象,什么是类3.2 类相关知识3.3 对象相关知识3.4 对象之间的交互3.5 类名称空间与 ...

随机推荐

  1. poj3718 Facer's Chocolate Dream

    题目链接 正解:组合数+$dp$. 今天考试的题,考试的时候感觉自己有点脑残过头了.. 似乎发现了所有$1$其实都是一样的,然后不知道怎么强制每种物品只选一个.. 然后就写了一个所有物品可以选任意个的 ...

  2. PHP扩展功能----cURL

    一.入门三部曲 1.cURL是什么? wikipedia介绍: * cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行.它支持文件上传和下载,所以是综合传输工具,但按传统,习 ...

  3. 查找系统中jdk的位置

    查找系统中jdk的位置: [root@localhost native]# find /|grep jni_md.h /var/lib/docker/overlay2/ec7a5439382a8a6d ...

  4. PAT——1038. 统计同成绩学生

    本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数.随后1行给出N名学生的百分制整数成绩,中间以空格分隔.最后1行给出要查 ...

  5. POJ 2352 stars (树状数组入门经典!!!)

    Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 54352   Accepted: 23386 Descripti ...

  6. Gradle Goodness: Add Incremental Build Support to Custom Tasks with Annotations

    In a previous post we learned how we can use the inputs and outputs properties to set properties or ...

  7. 批量kill杀死某些会话session的PL/SQL

    原文:http://blog.itpub.net/9240380/viewspace-666622/ SQL> declare 2 v_sid v$session.sid%type; --定义如 ...

  8. 使用 runtime 实现字符串转方法,并传递参数

    利用runtime的动态机制实现字符串转方法并传递参数 使用 SEL 关键字引用方法声明,使用 methodForSelector 寻找方法实现, 使用函数指针调用方法. - (void)action ...

  9. BUAA OO 2019 第二单元作业总结

    目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码 ...

  10. list 去重复元素

    public static List removeDuplicate(List list){ List listTemp = new ArrayList(); for(int i=0;i<lis ...