HDU 3368——Reversi

来源:互联网 发布:合肥淘宝包装招聘 编辑:程序博客网 时间:2024/05/17 18:12

枚举法

 

#include<iostream>#include<string>#include<cstdio>using namespace std;int ans;char map[10][10];int dir[8][2]={0,1,0,-1,1,0,-1,0,1,1,-1,1,1,-1,-1,-1};void find(int x,int y){if(map[x][y]!='*')return ;int i;int sum=0;for(i=0;i<8;i++){int temp=0;int nx=x,ny=y;while(1){nx=dir[i][0]+nx;ny=dir[i][1]+ny;if(nx<0||nx>=8||ny<0||ny>=8)break;if(map[nx][ny]=='*')break;if(map[nx][ny]=='L')temp++;if(map[nx][ny]=='D'){sum+=temp;break;}}}if(sum>ans)ans=sum;}int main(){int i,j,count=1;int t;cin>>t;while(t--){ans=0;for(i=0;i<8;i++)cin>>map[i];for(i=0;i<8;i++)for(j=0;j<8;j++)find(i,j);printf("Case %d: %d\n",count++,ans);}return 0;}/*55******************D*D*D****LLL****DL*LD****LLL****D*D*D*************************************************************************DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*LLLLLLLL*******L*******L*******L*******L*******L*******LLLLLLL*8000*/


 

原创粉丝点击