HDU 3368--搜索
2016-07-26 20:17
309 查看
题意:
给出一个字符矩阵,*代表空白,D代表黑子,L代表白子,问在给出的字符矩阵中,黑子如何下子,使得两个黑子之间包含的白子最
多。
分析:
枚举所有可以下子的点,每个点从8个方向进行寻找每个方向上的下一个黑子,得到该点能翻转的白棋数,比较输出最大的。
代码:
#include <bits/stdc++.h>
using namespace std;
char c[10][10];
int x[8]= {0,1,0,-1,1,-1,1,-1};
int y[8]= {1,0,-1,0,-1,1,1,-1};
int hh,ll;
int Search(int h,int l)
{
int sum=0,num=0;
for(int i=0; i<8; i++)
{
hh=h+x[i];
ll=l+y[i];
num=0;
while(1)
{
if(c[hh][ll]!='L')
break;
num++;
hh+=x[i];
ll+=y[i];
}
if(c[hh][ll]=='D')
sum+=num;
}
return sum;
}
int main()
{
int T,k=1;
while(~scanf("%d",&T))
{
k=1;
for(int i=1; i<=T; i++)
{
for(int i=1; i<=8; i++)
{
for(int j=1; j<=8; j++)
cin >>c[i][j];
}
int maxn=0;
for(int i=1; i<=8; i++)
{
for(int j=1; j<=8; j++)
{
if(c[i][j]=='*')
{
maxn=max(maxn,Search(i,j));
}
}
}
printf("Case %d: %d\n",k++,maxn);
}
}
return 0;
}
给出一个字符矩阵,*代表空白,D代表黑子,L代表白子,问在给出的字符矩阵中,黑子如何下子,使得两个黑子之间包含的白子最
多。
分析:
枚举所有可以下子的点,每个点从8个方向进行寻找每个方向上的下一个黑子,得到该点能翻转的白棋数,比较输出最大的。
代码:
#include <bits/stdc++.h>
using namespace std;
char c[10][10];
int x[8]= {0,1,0,-1,1,-1,1,-1};
int y[8]= {1,0,-1,0,-1,1,1,-1};
int hh,ll;
int Search(int h,int l)
{
int sum=0,num=0;
for(int i=0; i<8; i++)
{
hh=h+x[i];
ll=l+y[i];
num=0;
while(1)
{
if(c[hh][ll]!='L')
break;
num++;
hh+=x[i];
ll+=y[i];
}
if(c[hh][ll]=='D')
sum+=num;
}
return sum;
}
int main()
{
int T,k=1;
while(~scanf("%d",&T))
{
k=1;
for(int i=1; i<=T; i++)
{
for(int i=1; i<=8; i++)
{
for(int j=1; j<=8; j++)
cin >>c[i][j];
}
int maxn=0;
for(int i=1; i<=8; i++)
{
for(int j=1; j<=8; j++)
{
if(c[i][j]=='*')
{
maxn=max(maxn,Search(i,j));
}
}
}
printf("Case %d: %d\n",k++,maxn);
}
}
return 0;
}
相关文章推荐
- 用PHP的GD库把图片的背景替换成透明背景
- HDU 3366
- Silex:基于Symfony组件的微型框架简介
- 【NBUTOJ】-1651-Red packet(二分)
- 在windows7中安装xgboost
- Codeforces 439C Devu and Partitioning of the Array
- paper 88:人脸检测和识别的Web服务API
- CMake编译opencv和argc、argv含义
- C#中List与IList的区别
- 培训期间小作业~切换图片
- 基本控件使用(三)(触摸,CallFunc,Schedule)
- Google Chrome 中安装 PostMan 扩展
- Codeforces 439B Devu, the Dumb Guy
- poj 3020(二分图最小路径覆盖,拆点)
- HDOJ 1969 Pie
- vs2012加载EntityFrameWork框架,连接Oracel
- uWSGI 服务器的 uwsgi 协议究竟用在何处?
- 使用帮助 history 用法 echo输出闪烁作业
- newlisp转换10进制正整数到二进制串
- poj 1573 Robot Motion