问题 L: 「Usaco2005 Feb」竞选划区O(∩_∩)O 纯属的暴力
题目描述
如果一头奶牛在另一头上下左右四个格子中的任一格里,我们说它们相连. 奶牛要大选了.现在有一只杰尔西奶牛们想选择7头相连的奶牛,划成一个竞选区,使得其中它们品种的奶牛比荷斯坦的多.
要求你编写一个程序求出方案总数.
输入
输出
样例输入 Copy
HHHHH JHJHJ HHHHH HJHHJ HHHHH
样例输出 Copy
2
提示

解题思路
- 这题感觉就是就是一个巨暴力的暴力。一开始还不敢打,后来看到是道黄题,直接暴力就过了,然后加一个优化还挺快的。。。
- 每一次去拓展7个点,然后判断一下会可不可以,然后就可以找到答案。
- 可以非常明显的发现,对于一张图,会有很多种拓展方法,其中必有很多重复的,然后就需要去判重。
- 判重有很多种方法,可以hash还可以用什么set...
- set的一些用法可以去百度,或者去这里(传送门)
暴力的代码:
#include<cstdio>
const int mx[]={,,,-};
const int my[]={,,-,};
bool map[][];
int d[][];
int s[];
int nx[],ny[];
int q[];
int ans;
inline bool mark()
{
int i,j,sx,sy,xx,yy,sum=,t=,w=;
for (i=;i<=;i++)for(j=;j<=;j++)d[i][j]=;
for (i=;i<=;i++)
{
ny[i]=s[i]%;nx[i]=s[i]/;
if (ny[i])nx[i]++;
if (!ny[i])ny[i]=;
d[nx[i]][ny[i]]=i;
}
q[]=;d[nx[]][ny[]]=;sum=map[nx[]][ny[]];
while (t<w)
{
xx=nx[q[++t]];
yy=ny[q[t]];
for (int k=;k<;k++)
{
sx=xx+mx[k];sy=yy+my[k];
if (sx>&&sy>&&sx<&&sy<&&d[sx][sy])
{
q[++w]=d[sx][sy];
d[sx][sy]=;
sum+=map[sx][sy];
}
}
}
return w==&&sum>;
}
int main()
{
for (int i=;i<=;i++)
for (int j=;j<=;j++)
{
char ch=getchar();
while (ch!='H'&&ch!='J')ch=getchar();
if (ch=='J')map[i][j]=;
}
for (s[]=;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
for (s[]=s[]+;s[]<=;s[]++)
if (mark())ans++;
printf("%d",ans);
}
问题 L: 「Usaco2005 Feb」竞选划区O(∩_∩)O 纯属的暴力的更多相关文章
- 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第二弹)
1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: ...
- 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第一弹)
1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: ...
- bzoj1675 [Usaco2005 Feb]Rigging the Bovine Election 竞选划区
Description It's election time. The farm is partitioned into a 5x5 grid of cow locations, each of wh ...
- bzoj:1675 [Usaco2005 Feb]Rigging the Bovine Election 竞选划区
Description It's election time. The farm is partitioned into a 5x5 grid of cow locations, each of wh ...
- 【BZOJ】1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(暴力dfs+set判重)
http://www.lydsy.com/JudgeOnline/problem.php?id=1675 一开始我写了个枚举7个点....... 但是貌似... 写挫了. 然后我就写dfs.. 判重好 ...
- 「Usaco2005 Dec」清理牛棚(spfa秒杀线段树dp)
约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西. 约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚, 约翰的奶牛中有N(1≤N≤10000)头愿意通过清扫牛棚来挣一 ...
- 「BZOJ 2534」 L - gap字符串
「BZOJ 2534」 L - gap字符串 题目描述 有一种形如 \(uv u\) 形式的字符串,其中 \(u\) 是非空字符串,且 \(v\) 的长度正好为 \(L\), 那么称这个字符串为 \( ...
- [bzoj1733][Usaco2005 feb]Secret Milking Machine 神秘的挤奶机_网络流
[Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 题目大意:约翰正在制造一台新型的挤奶机,但他不希望别人知道.他希望尽可能久地隐藏这个秘密.他把挤奶机藏在他的农 ...
- BZOJ3392: [Usaco2005 Feb]Part Acquisition 交易
3392: [Usaco2005 Feb]Part Acquisition 交易 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 26 Solved: ...
随机推荐
- PHP获取客户端的真实IP
REMOTE_ADDR只能获取访问者本地连接中设置的IP,如中南民族大学校园网中自己设置的10.X.XXX.XXX系列IP,而这个函数获取的是局域网网关出口的IP地址, 如果访问者使用代理服务器,将不 ...
- Butter Knife
Butter Knife,专门为Android View设计的绑定注解,专业解决各种findViewById. 简介 对一个成员变量使用@BindView注解,并传入一个View ID, Butter ...
- Java如何安装JDK,配置环境变量。超级详细图及操作
突然想起自己大学刚接触java的时候,要下载JDK和配置环境变量,那时候我上网找了很多教学,结果发现很多的博主都是表达不太清晰,或者是我理解能力差点,导致我那时候搞了一个多小时才搞定,而且事后每次我重 ...
- spring boot项目下application.properties中使用logging.path和logging.file时的细节
logging.path仅仅用于指定日志输出的目录,且不能指定输出的文件名,且默认名为spring.log 若指定的是相对目录,则会生成在当前总项目的目录下 idea中新建sprnig boot项目 ...
- Adobe PS常用快捷键
ps使用快捷键 新建图层 Ctrl+Shift+N 取消选择区 Ctrl + D 新建标题 Ctrl + N 图片放大 Alt+鼠标滑动 图片位置拖动 空格 + 鼠标拖动 移动图层 ...
- bugku 一个普通的压缩包
压缩包打不开,用winhex打开压缩包,发现头文件是zip的,将后缀改为zip,成功解压. 打开发现还是个压缩包,而且打不开,提示secret.png损坏,使用winhex打开. 将a8 3c 7a ...
- unittest介绍
unittest框架是python中一个标准的库中的一个模块,该模块包括许多的类如 test case类.test suit类.texttest runner类.texttest resuite类.t ...
- Python多线程多进程那些事儿看这篇就够了~~
自己以前也写过多线程,发现都是零零碎碎,这篇写写详细点,填一下GIL和Python多线程多进程的坑~ 总结下GIL的坑和python多线程多进程分别应用场景(IO密集.计算密集)以及具体实现的代码模块 ...
- Java Stream函数式编程案例图文详解
导读 作者计划把Java Stream写成一个系列的文章,本文只是其中一节.更多内容期待您关注我的号! 一.什么是Java Stream? Java Stream函数式编程接口最初是在Java 8中引 ...
- 实用---GUI的搭建,windowbuilder的使用
在进行GUI的搭建过程中,相信很多人对于一个图标的设置感觉写起来很麻烦,需要不断的添加,而在java中有一个windowbuilder窗口可以很好的帮助我们进行GUI的搭建 1.进入eclipse的页 ...