UVa 253 骰子涂色
https://vjudge.net/problem/UVA-253
题意:输入两个骰子的六面颜色,判断是否等价。
思路:我最想到的是暴力,不过一直错,也不知道哪里错了。第二种方法就是在一个骰子里出现的一对颜色在第二个骰子也有,只要三对颜色都匹配成功,那么就是等价的。
#include<iostream>
#include<string>
#include<cstring>
using namespace std; char str[];
int vis[];
int ok; int main()
{
//freopen("D:\\txt.txt", "r", stdin);
while (gets(str)!=NULL)
{
ok = ;
memset(vis, , sizeof(vis));
for (int i = ; i < ;i++)
for (int j = ; j < ; j++)
{
if (!vis[j] && str[i] == str[j] && str[ - i] == str[ - j])
{
vis[j] = vis[ - j] = ;
break; //这个break必须得加
}
}
for (int i = ; i < ; i++)
{
if (!vis[i])
{
ok = ;
cout << "FALSE" << endl;
break;
}
}
if (ok) cout << "TRUE" << endl;
}
return ;
}
再附上我的暴力,不过是wrong的。先留着吧,以后说不定我就能发现哪里错了。
#include<iostream>
#include<string>
#include<cstring>
using namespace std; char str[], s1[], s2[], s3[], s4[];
int vis[];
int ok; void solve(int cur)
{
if (cur == )
{
s3[] = '\0';
for (int k = ; k < ; k++)
{
s4[k] = s3[k + ];
s4[k + ] = s3[k];
}
s4[] = '\0';
if (!strcmp(s1, s3) || !strcmp(s1, s4))
{
ok = ;
}
}
else
{
for (int i = ; i < ; i++)
{
if (ok) return;
if (!vis[i])
{
s3[cur] = s2[i];
s3[ - cur] = s2[ - i];
vis[i] = ;
solve(cur + );
vis[i] = ;
}
}
}
} int main()
{
//freopen("D:\\txt.txt", "r", stdin);
while (gets(str) != NULL)
{
memset(vis, , sizeof(vis));
memcpy(s1, str, );
memcpy(s2, str + , );
s1[] = '\0';
s2[] = '\0';
ok = ;
solve();
if (ok) cout << "TRUE" << endl;
else cout << "FALSE" << endl;
}
return ;
}
UVa 253 骰子涂色的更多相关文章
- 算法习题---4-4骰子涂色(UVa253)
一:题目 分别对两个骰子的六个面涂色r-红 b-蓝 g-绿,通过转动骰子,看两个骰子是不是一样的涂色方法 (一)题目详解 题目规定了正方体的六个面的序号:从1-,按照这个需要提供涂色序列 (二)案例展 ...
- 【紫书】Quadtrees UVA - 297 四叉树涂色
题意:前序遍历给出两个像素方块.求两个方块叠加后有几个黑色格子. 题解:每次读进来一个方块,就在二维数组上涂色.每次把白色涂黑就cnt++: 具体递归方法是以右上角坐标与边长为参数,每次通过几何规律往 ...
- 骰子涂色 (Cube painting,UVa 253)
题目描述:算法竞赛入门习题4-4 题目思路:1.旋转其中一个骰子进行匹配 2.进行遍历,如果匹配,就进行相对面的匹配 3.三个对立面都匹配即是一样等价的 //没有按照原题的输入输出 #include ...
- uva 253 - Cube painting(相同骰子)
习题4-4 骰子涂色(Cube painting, UVa 253) 输入两个骰子,判断二者是否等价.每个骰子用6个字母表示,如图4-7所示. 图4-7 骰子涂色 例如rbgggr和rggbgr分别表 ...
- UVa 253
UVa 253 #include <iostream> #include <cstdio> #include <string> #include <cstri ...
- 1260: [CQOI2007]涂色paint
Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续 ...
- 【BZOJ-1260】涂色paint 区间DP
1260: [CQOI2007]涂色paint Time Limit: 30 Sec Memory Limit: 64 MBSubmit: 1147 Solved: 698[Submit][Sta ...
- 并查集(涂色问题) HDOJ 4056 Draw a Mess
题目传送门 题意:给出一个200 * 50000的像素点矩阵,执行50000次操作,每次把一个矩形/圆形/菱形/三角形内的像素点涂成指定颜色,问最后每种颜色的数量. 分析:乍一看,很像用线段树成段更新 ...
- UVA 253 Cube painting(暴力打表)
Cube painting Problem Description: We have a machine for painting cubes. It is supplied with three d ...
随机推荐
- jmeter 逻辑控制器Logic Controller详解
Jmeter之逻辑控制器(Logic Controller) 前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in w ...
- react native android 编译
修改 Maven 仓库地址 React Native 在初始化时会从 jcenter.binary.com 这个地方下载一些东西,网上搜索了一下,好像是在下载 Maven 相关的依赖. 针对全局进行修 ...
- 更换mysql数据库的datadir目录
更换过程如下: 1.新建指定的datadir目录,这里举例如:E:/mysql_datadir/data. 2.关闭mysql57服务器. 3.将原来的datadir目录下面的所有文件拷贝到E:/my ...
- 圆的k次面积并
搬运别人的 https://vjudge.net/problem/SPOJ-CIRUT //china no.1 #pragma comment(linker, "/STACK:102400 ...
- SQL语句--查询任务
SELECT 目标字段1, 目标字段2 FROM 目标表WHERE ID IN(SELECT 外键 FROM 外键所在表WHERE 提供数据字段 IN(提供数据第一条, 提供数据第二条, ))
- pandas练习(一)------ 了解数据
探索Chipotle快餐数据 (相关数据见github) 步骤1 导入pandas库 import pandas as pd 步骤2 导入数据集 path1 = "./data/chipot ...
- VMware前路难测,多个厂家群雄逐鹿
以VMware为例,虚拟机巨头公布了第二财季报告所示,它第二财季收入同比增长13%,达到了21.7亿美元,而且该公司收入和每股收益均超出预期. 在人们高谈Salesforce.亚马逊等新兴云计算厂商取 ...
- php随笔10-thinkphp 3.1.3 模板继承 布局
8.25 模板继承 模 板继承是3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类 的继承一样,模板也可以定义一个 ...
- 来了解一下Redis的分布式锁
分布式锁本质上要实现的目标就是在 Redis 里面占一个“茅坑”,当别的进程也要来占 时,发现已经有人蹲在那里了,就只好放弃或者稍后再试. 占坑一般是使用 setnx(set if not exist ...
- Git 的安装步骤
Git 的安装步骤 一.下载Git Git 的官网:https://git-scm.com/ 在 Git 的官网中点击Downloads,进入如下页面: 选择对应的操作系统,以博主为例,点击Windo ...