HDU 5983(模拟魔方 模拟)
题意是说给定一个 2*2 魔方的各个面的情况,问是否能转动不超过一次使得魔方复原。
思路是先在输入的时候统计一下已完成的面数,要想以最多一次的转动使得魔方复原,那么已完成的面数只能是 2 面或者 6 面,此处可剪枝。
若已完成 6 面,那么一定可以复原;
若已完成 2 面,则要用一次转动完成其他六面,开始这里打算用结构体去存,结果在判断的时候自己混乱了……最终直接定了 24 个变量,a,b,c……w,x,
手动做了个小正方体,太丢人……(但不得不说这种方法挺好的,易于理解,而且不会乱^_^)
代码如下:
#include <bits/stdc++.h>
using namespace std;
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;
bool xu[];
int main()
{
int times,cnt;
bool wu;
scanf("%d",×);
while(times--)
{
cnt = ;
memset(xu,,sizeof(xu));
scanf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j,&k,&l,&m,&n,&o,&p,&q,&r,&s,&t,&u,&v,&w,&x);
if(a==b&&b==c&&c==d)
{
++cnt;
xu[] = ;
}
if(e==f&&f==g&&g==h)
{
++cnt;
xu[] = ;
}
if(i==j&&j==k&&k==l)
{
++cnt;
xu[] = ;
}
if(m==n&&n==o&&o==p)
{
++cnt;
xu[] = ;
}
if(q==r&&r==s&&s==t)
{
++cnt;
xu[] = ;
}
if(u==v&&v==w&&w==x)
{
++cnt;
xu[] = ;
}
if(cnt==) puts("YES");
else if(cnt==)
{
wu = ;
if(xu[]&&xu[])
{
if(m==n&&m==u&&m==w)
{
if(v==x&&v==e&&v==f)
if(g==h&&g==r&&g==t)
if(q==s&&q==o&&q==p)
wu = ;
}
else if(m==n&&m==r&&m==t)
{
if(q==s&&q==e&&q==f)
if(g==h&&g==u&&g==w)
if(v==x&&v==o&&v==p)
wu = ;
}
}
else if(xu[] && xu[])
{
if(a==b&&a==w&&a==x)
{
if(u==v&&u==i&&u==j)
if(k==l&&k==s&&k==t)
if(q==r&&q==c&&q==d)
wu = ;
}
else if(a==b&&a==s&&a==t)
{
if(q==r&&q==i&&q==j)
if(k==l&&k==w&&k==x)
if(u==v&&u==c&&u==d)
wu = ;
}
}
else if(xu[] && xu[])
{
if(a==c&&a==n&&a==p)
{
if(m==o&&m==j&&m==l)
if(i==k&&i==f&&i==h)
if(e==g&&e==b&&e==d)
wu = ;
}
else if(a==c&&a==f&&a==h)
{
if(e==g&&e==j&&e==l)
if(i==k&&i==n&&i==p)
if(m==o&&m==b&&m==d)
wu = ;
}
}
if(wu) puts("YES");
else puts("NO");
}
else puts("NO");
}
return ;
}
HDU 5983(模拟魔方 模拟)的更多相关文章
- HDU 5510---Bazinga(指针模拟)
题目链接 http://acm.hdu.edu.cn/search.php?action=listproblem Problem Description Ladies and gentlemen, p ...
- HDU 5047 Sawtooth(大数模拟)上海赛区网赛1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 解题报告:问一个“M”型可以把一个矩形的平面最多分割成多少块. 输入是有n个“M",现 ...
- HDU 5965 扫雷 【模拟】 (2016年中国大学生程序设计竞赛(合肥))
扫雷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...
- HDU 5935 Car 【模拟】 (2016年中国大学生程序设计竞赛(杭州))
Car Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- HDU 5912 Fraction 【模拟】 (2016中国大学生程序设计竞赛(长春))
Fraction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- hdu 4831 Scenic Popularity(模拟)
pid=4831" style="font-weight:normal">题目链接:hdu 4831 Scenic Popularity 题目大意:略. 解题思路: ...
- HDU 5538 House Building(模拟——思维)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5538 Problem Description Have you ever played the vi ...
- hdu 4930 斗地主恶心模拟
http://acm.hdu.edu.cn/showproblem.php?pid=4930 就是两个人玩斗地主,有8种牌型,单张,一对,三张,三带一,三带对,四带二,四炸,王炸.问先手能否一次出完牌 ...
- hdu 4995 离线处理+模拟
http://acm.hdu.edu.cn/showproblem.php?pid=4995 给定一维坐标下的n个点,以及每个点的权值,有m次查询,每次将查询的x点上的权值修改为离x最近的k个点权值的 ...
随机推荐
- Ubuntu系统分配存储空间的建议以及给Ubuntu系统根目录扩容方法(从20GB追加100GB)
当初准备装双系统时,也思考了很久分配多少空间给Ubuntu16.04系统,查了许多资料,大多意思是‘/’目录总共给20GB,其他的给/home.网上资料推荐的大多跟这篇文章一样:https://blo ...
- Eclipse启动报错,解决办法
打开log日志,发现如下错误.原因是修改了计算机用户名导致 !SESSION Thu Aug 30 08:55:41 CST 2018 -------------------------------- ...
- SQLServer之CHECK约束
CHECK约束添加规则 1.CHECK 约束用于限制列中的值的范围. 2.Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Ch ...
- jenkins安装详细教程
一.jenkins简介 jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 1.持续的软件版本 ...
- 设置TextBlock默认样式后,其他控件的Text相关属性设置失效问题
问题: 定义了默认TextBlock样式后,再次自定义下拉框 or 其他控件 ,当内部含有TextBlock时,设置控件的字体相关样式无效,系统始终使用TextBlock设置默认样式 解决方案: 为相 ...
- Django--用户认证组件auth(登录用-依赖session,其他用)
一.用户认证组件auth介绍 二.auth_user表添加用户信息 三.auth使用示例 四.auth封装的认证装饰器 一.用户认证组件auth介绍 解决的问题: 之前是把is_login=True放 ...
- 最小化spring XML配置,Spring提供了4种自动装配策略。
1.ByName自动装配:匹配属性的名字 在配置文件中的写法: <bean name="course" class="course类的全包名">&l ...
- Arduino内部网页代理,网页穿透,公网访问Arduino内部网页
#include <ESP8266WiFi.h> const char* id = "id"; //http://www.mcunode.com/proxy/ ...
- tomcat目录
1.解决Nginx+Tomcat下客户端https请求跳转成http的问题 2.tomcat配置通过域名直接访问项目首页步骤 3.tomcat配置文件server.xml详解 4.nginx-t/co ...
- How to move lobsegment and lobindex to a different Tablespace
Hi, Assuming that I have table "TEST" in USERS TableSpace CREATE TABLE TEST ( TEST_ID NUMB ...