注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Minary_Acdream

http://f10.moe/

 
 
 

日志

 
 

[nbut] 1264 Flandre's First Escape  

2012-11-08 22:33:28|  分类: NBUT OJ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
二小姐的逃脱,这题就是枚举。很黄很暴力- -..
继续是出这个12届的孩子玩的,但是貌似是有点...
题意就是类似翻棋游戏,4*4的一个棋盘,棋子只有两面,一面为“ * ”,一面为“ # ”。当中间的棋子翻转的时候,它上下左右的棋子一起翻转。求最短的步数让棋子都为“ # ” 或者都为“ * ”。

直接...枚举水过


#include<iostream>
#include<stdio.h>
using namespace std;
int a[17],b[17],t[17];

int check()
{
int i,sum = 0;
for (i = 1;i <= 16;i++)
sum += b[i];
if (sum == 16 || sum == 0)
return 1;
return 0;
}
int turn(int s)
{
int x,y;
x = (s - 1) / 4 + 1;y = (s - 1) % 4 + 1;
if (x > 1)
b[s - 4] = 1 - b[s - 4];
if (x < 4)
b[s + 4] = 1 - b[s + 4];
if (y > 1)
b[s - 1] = 1 - b[s - 1];
if (y < 4)
b[s + 1] = 1 - b[s + 1];
b[s] = 1 - b[s];
}
int main()
{
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int step,ans;
char ch;
while(scanf("%c",&ch) != EOF)
{
if (ch == '#') a[1] = 1;
else a[1] = 0;
for (int i = 2;i <= 4;i ++)
{
scanf("%c",&ch);
if (ch == '#') a[i]=1;
else a[i]=0;
}
getchar();
for (int i = 2;i <= 4;i ++)
{
for (int j = 1;j <= 4;j ++)
{
scanf("%c",&ch);
if (ch == '#') a[i * 4 - 4 + j]=1;
else a[i * 4 - 4 + j]=0;
}
getchar();
}

ans=17;
for (t[1]=0;t[1]<=1;t[1]++)
for (t[2]=0;t[2]<=1;t[2]++)
for (t[3]=0;t[3]<=1;t[3]++)
for (t[4]=0;t[4]<=1;t[4]++)
for (t[5]=0;t[5]<=1;t[5]++)
for (t[6]=0;t[6]<=1;t[6]++)
for (t[7]=0;t[7]<=1;t[7]++)
for (t[8]=0;t[8]<=1;t[8]++)
for (t[9]=0;t[9]<=1;t[9]++)
for (t[10]=0;t[10]<=1;t[10]++)
for (t[11]=0;t[11]<=1;t[11]++)
for (t[12]=0;t[12]<=1;t[12]++)
for (t[13]=0;t[13]<=1;t[13]++)
for (t[14]=0;t[14]<=1;t[14]++)
for (t[15]=0;t[15]<=1;t[15]++)
for (t[16]=0;t[16]<=1;t[16]++)
{
for (int i = 1;i <= 16;i++)
b[i]=a[i];
for (int i = 1;i <= 16;i++)
if (t[i])
turn(i);
if (check())
{
step=0;
for (int i = 1;i <= 16;i ++)
step=step+t[i];
if (step < ans)
ans = step;
}
}
if (ans <= 16)
printf("%d\n",ans);
else
printf("Sorry,I can not help you ..> <..\n");
// getchar();
}
}



  评论这张
 
阅读(152)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018