题目链接

去年现场,虎哥1Y的,现在刷刷题,找找状态...

一共6种转法,把3个面放到顶部,左旋和右旋,感觉写的还不错....都写成常数了。

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <queue>
#include <algorithm>
#define LL long long
using namespace std;
struct node
{
int num[];
int st;
};
int dr[] = {,,,,,,,,,,,};
int dc[] = {,,,,,,,,,,,};
int a[] = {,,,,,,,,,,,};
int b[] = {,,,,,,,,,,,};
int c[] = {,,,,,,,,,,,};
int aim[][] = {
{,,,},
{,,,},
{,,,},
{,,,},
{,,,},
{,,,}
};
int judge(int *p)
{
int ans = ,i,j;
for(i = ;i < ;i ++)
{
for(j = ;j < ;j ++)
{
if(p[aim[i][j]] != p[aim[i][]])
break;
}
if(j == ) ans ++;
}
return ans;
}
int main()
{
node u,v;
int n,i,ans;
while(scanf("%d",&n)!=EOF)
{
for(i = ;i < ;i ++)
{
scanf("%d",&u.num[i]);
}
u.st = ;
queue<node>que;
que.push(u);
ans = ;
while(!que.empty())
{
u = que.front();
que.pop();
if(ans == ) break;
ans = max(ans,judge(u.num));
if(u.st == n) continue;
v.st = u.st + ;
//a
for(i = ;i < ;i ++)
{
v.num[i] = u.num[i];
}
for(i = ;i < ;i ++)
{
v.num[a[dr[i]]] = u.num[a[i]];
}
que.push(v);
for(i = ;i < ;i ++)
{
v.num[a[dc[i]]] = u.num[a[i]];
}
que.push(v);
//b
for(i = ;i < ;i ++)
{
v.num[i] = u.num[i];
}
for(i = ;i < ;i ++)
{
v.num[b[dr[i]]] = u.num[b[i]];
}
que.push(v);
for(i = ;i < ;i ++)
{
v.num[b[dc[i]]] = u.num[b[i]];
}
que.push(v);
//c
for(i = ;i < ;i ++)
{
v.num[i] = u.num[i];
}
for(i = ;i < ;i ++)
{
v.num[c[dr[i]]] = u.num[c[i]];
}
que.push(v);
for(i = ;i < ;i ++)
{
v.num[c[dc[i]]] = u.num[c[i]];
}
que.push(v);
}
printf("%d\n",ans);
}
return ;
}

HDU 4801 Pocket Cube的更多相关文章

  1. HDU 5292 Pocket Cube 结论题

    Pocket Cube 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5292 Description Pocket Cube is the 2×2× ...

  2. 【HDOJ】4801 Pocket Cube 的几种解法和优化

    1. 题目描述给定一个$2 \times 2 \times 2$的魔方,当某个面上的4个小块颜色均相同时,称这个面为complete.求对这个魔方进行$n \in [1,7]$次旋转(沿某个面顺时针或 ...

  3. 2013区域赛长沙赛区现场赛 K - Pocket Cube

    K - Pocket Cube Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Su ...

  4. Pocket Cube

    Pocket Cube http://acm.hdu.edu.cn/showproblem.php?pid=5983 Time Limit: 2000/1000 MS (Java/Others)    ...

  5. 【】【】Pocket Cube

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s) ...

  6. 2013 ACM区域赛长沙 K Pocket Cube hdu 4801

    题意:给了一个2*2的魔方..每步操作可以将任意一面翻转90度..现在问在N(<=7)步内.最多能翻出几面相同的. 直接打表模拟每种翻转情况 #include<cstdio> #in ...

  7. HDU 1220 B - Cube

    http://acm.hdu.edu.cn/showproblem.php?pid=1220 一开始的做法是,先暴力算出一个面,就是n * n的面,能有多少对.记作face 然后从上开始算下来,最上一 ...

  8. hdu 3547 DIY Cube (Ploya定理)

    DIY Cube Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total S ...

  9. 模拟 ZOJ 3736 Pocket Cube

    题目传送门 题意:魔方最多旋转n次,问最多能使多少面颜色相同 分析:6种状态(3种旋转方式*顺逆方向,其他对称的!),首先先打个表,然后很愉快的DFS.自己写的时候费劲脑汁,代码很长,还TLE了... ...

随机推荐

  1. tab 切换写法

    <script>        var oUL = document.getElementById('aboutTab-ul');        var oLi = oUL.getElem ...

  2. Java实现比较版本号

    涉及到客户端的系统中经常需要用到比较版本号的功能,但是比较版本号又不能完全按照字符串比较的方式去用compareTo之类的方法: 这就需要我们总结版本号的通用规则,设计一个比较算法并封装成通用方法来使 ...

  3. css3渐变

    background:-webkit-linear-gradient | radial-gradient (水平起点 垂直起点 , 颜色1  百分比%, 颜色2  百分比%, ... ,颜色N 100 ...

  4. C#数字日期装换为中文日期

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. 【Kubernetes】K8S 网络隔离 方案

    参考资料: K8S-网络隔离参考 OpenContrail is an open source network virtualization platform for the cloud. – Kub ...

  6. MVC 导出Excel 的其中一方法(View导出excel)

    场景:mvc下导出excel 思路:使用View导出excel 步骤: 1.导出标签添加事件 $("#export_A").click(function(){ //省略代码.... ...

  7. 三年回首:C基础

    atoi 实现注意: 要可以表示负数:处理到空格要结束:空串""返回0:NULL直接seg fault:溢出判断(atoi(2147483648)实际得到的是-2147483648 ...

  8. The note of Vue.js

    In computed field, increment operator is not supported.

  9. [Project Name] was compiled with optimization - stepping may behave oddly; variables may not be available.

    控制台输出的时候显示一串这样的信息:[Project Name] was compiled with optimization - stepping may behave oddly; variabl ...

  10. For Freedom —— 代理篇

    人生在世,总是受到各种约束.心脏跳动都感到困难呢!! 公司内网,安全区,fq等等等~~我们需要一个稳定易用高性能高弹性的代理工具!3Proxy,Here it is, CLICK ME!! 简单介绍下 ...