POJ 1414 暴搜
题意比较复杂 (但是很好理解)
大概意思是给你等边三角形(详见题目中的图)。
最后一行有n个数,下一次要填的数是c。
里面预先已经填好了数字。(0为未填)
得分的标准是这个分数的连通块周围没有空的地方。 就能得到连通块大小的分。
失分是 当前块能得分,但不巧,当前块内的数字是要填的数字。就失去连通块大小的分。
求这次填块最多可以得多少分。
不能不填,即分数可以为负。
思路:
其实这个题并不难。
枚举所有没有填过的块。暴搜一遍。。。 搞定。
// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ff for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)
using namespace std;
int n,c,vis[11][11],a[11][11],xx[]={1,0,-1,0,-1,1,0},yy[]={0,1,0,-1,-1,1,0},cnt,flag,temp,ans;
bool check(int x,int y){return x>=1&&y<=x&&y>=1&&x<=n;}
void dfs(int x,int y,int t){
vis[x][y]=1;cnt++;
for(int i=0;i<6;i++){
int dx=x+xx[i],dy=y+yy[i];
if(!vis[dx][dy]&&check(dx,dy)){
if(a[dx][dy]==t)dfs(dx,dy,t);
else if(!a[dx][dy])flag=1;
}
}
}
int main(){
while(scanf("%d%d",&n,&c)&&(n||c)){
ans=-0x3fffffff;
ff scanf("%d",&a[i][j]);
ff if(!a[i][j]){
memset(vis,0,sizeof(vis));
a[i][j]=c;
temp=0;
for(int k=0;k<=6;k++){
cnt=flag=0;
int dx=i+xx[k],dy=j+yy[k];
if(check(dx,dy)&&!vis[dx][dy]&&a[dx][dy])dfs(dx,dy,a[dx][dy]);
if(!flag){
if(a[dx][dy]==c)temp-=cnt;
else temp+=cnt;
}
}
ans=max(ans,temp);
a[i][j]=0;
}
printf("%d\n",ans);
}
}
一不小心还进了Code Length前三 哈哈哈哈
POJ 1414 暴搜的更多相关文章
- POJ 1945 暴搜+打表 (Or 暴搜+判重)
思路: 呃呃 暴搜+打表 暴搜的程序::稳稳的TLE+MLE (但是我们可以用来打表) 然后我们就可以打表过了 hiahiahia 可以证明最小的那个数不会超过200(怎么证明的我也不知道),然后就直 ...
- POJ 3188暴搜
题意: 思路: 裸的暴搜 --. 但是要注意如果你不用所有的按键就能输出最优解的话一定要把所有的字母都安排到一个位置-. 我的一群PE就是这么来的-- 为什么写的人这么少-- // by Sirius ...
- POJ 2132 暴搜OR Floyd
题意: 给你一个邻接矩阵(n<=25)问所有1到2路径的gcd的lcm是多少. 一些经验(WA/TLE的经验): 1. 无脑暴搜 是会TLE的--. 2. 关于精度 dyf神牛说了:long l ...
- POJ 2133 暴搜
题意: 思路: 按照题意暴搜 注意 如果目标串==给的串 答案是2 //By SiriurRen #include <cstdio> #include <cstring> #i ...
- POJ - 2676 暴搜 注意实现细节
经典sudoku问题 按部就班就好 一定要注意细节 大于1还是大于等于1 r c越界判断 judge时0的特判 blabla居然磨了2个小时 改了很多地方所以实现得有点冗余,反正能A吧 /*H E A ...
- POJ 1543 暴搜
题意:输出a^3=b^3+c^3+d^3的所有a,b,c,d的值. b,c,d由小到大且b,c,d都大于1. 思路: 按照题意写就好.... // by SiriusRen #include < ...
- POJ 1950暴搜
思路: 暴力枚举好了..每回判断一下-- 用long long会超时 但是10^20会爆int... 不过仔细想一想 超过10^9的数肯定拼不回0啊-- 猥琐用int AC了 (当然可以打表 ) // ...
- poj 3080 Blue Jeans(水题 暴搜)
题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...
- [POJ 1204]Word Puzzles(Trie树暴搜&AC自己主动机)
Description Word puzzles are usually simple and very entertaining for all ages. They are so entertai ...
随机推荐
- 微信小程序video组件出现无法播放或卡顿
微信小程序使用video组件播放视频的时候,会出现卡顿或者无法播放的问题,加一个custom-cache=”true“即可解决,这个属性文档上没有,是从小程序开发社区中get到的.
- javascript中作用域
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- call by value 和 call by reference 的区别
引用自https://zhidao.baidu.com/question/340173099.html Call by Value就是传值的方式,函数调用时是把实参的值传给形参,函数调用结束后形参的值 ...
- APP开发过程的优惠券设计及流程
在整个APP开发产品发展的整个周期中,运营活动必不可少,而发放优惠券已成为运营活动的一种基本形式,而关于优惠券设计的整体流程尤为重要.接下来,常州开发APP公司专家分享一下自己的经验,希望对大家有帮助 ...
- switch注意事项
Day03_SHJavaTraining_4-5-2017 switch注意事项:①switch语句接受的数据类型 switch语句中的表达式的数据类型,是有要求的 JDK1.0 - 1.4 数 ...
- QT4.8界面设计(MSVC2010X)
1.C++ IDE设计 MFC这种半死不活的windows C++平台已经被抛弃,很无奈.转向Qt的C++还是不错的选择. QT的QML才是最新的亮点,可惜没有时间经历这些东西了. 2.程序代码 2. ...
- 杭电2054 WA
#include<stdio.h> #include<string.h> ],b[]; int main() { ,len2=,i; ; scanf("%s" ...
- 引用css样式的书写格式
css的书写格式一共有三种 行内样式:意思是在行内中写样式 例如说<p style="color:red">用行内样式编写我的颜色</p> 只适用于< ...
- Kafka学习笔记(2)----Kafka的架构
1. 架构图 一个Kafka集群中包含若干个Broker(消息实例),Kafka支持Broker横向扩展,Broker越多,吞吐量越大,同时也包含了若干个Producer(可以是web前端产生的Pag ...
- SQL数据查询2
USE h CREATE TABLE zy1( empno INT, ename ), job ), mgr INT, hiredate DATE, sal DOUBLE, COOM DOUBLE, ...