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 骰子涂色的更多相关文章

  1. 算法习题---4-4骰子涂色(UVa253)

    一:题目 分别对两个骰子的六个面涂色r-红 b-蓝 g-绿,通过转动骰子,看两个骰子是不是一样的涂色方法 (一)题目详解 题目规定了正方体的六个面的序号:从1-,按照这个需要提供涂色序列 (二)案例展 ...

  2. 【紫书】Quadtrees UVA - 297 四叉树涂色

    题意:前序遍历给出两个像素方块.求两个方块叠加后有几个黑色格子. 题解:每次读进来一个方块,就在二维数组上涂色.每次把白色涂黑就cnt++: 具体递归方法是以右上角坐标与边长为参数,每次通过几何规律往 ...

  3. 骰子涂色 (Cube painting,UVa 253)

    题目描述:算法竞赛入门习题4-4  题目思路:1.旋转其中一个骰子进行匹配 2.进行遍历,如果匹配,就进行相对面的匹配 3.三个对立面都匹配即是一样等价的 //没有按照原题的输入输出 #include ...

  4. uva 253 - Cube painting(相同骰子)

    习题4-4 骰子涂色(Cube painting, UVa 253) 输入两个骰子,判断二者是否等价.每个骰子用6个字母表示,如图4-7所示. 图4-7 骰子涂色 例如rbgggr和rggbgr分别表 ...

  5. UVa 253

    UVa 253 #include <iostream> #include <cstdio> #include <string> #include <cstri ...

  6. 1260: [CQOI2007]涂色paint

    Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续 ...

  7. 【BZOJ-1260】涂色paint 区间DP

    1260: [CQOI2007]涂色paint Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 1147  Solved: 698[Submit][Sta ...

  8. 并查集(涂色问题) HDOJ 4056 Draw a Mess

    题目传送门 题意:给出一个200 * 50000的像素点矩阵,执行50000次操作,每次把一个矩形/圆形/菱形/三角形内的像素点涂成指定颜色,问最后每种颜色的数量. 分析:乍一看,很像用线段树成段更新 ...

  9. UVA 253 Cube painting(暴力打表)

    Cube painting Problem Description: We have a machine for painting cubes. It is supplied with three d ...

随机推荐

  1. Linux Packages Search

    网站 : https://www.pkgs.org/ https://centos.pkgs.org/

  2. 解决 libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64案例

    在mysql主从同步时经常会用到Xtra, XtraBackup可以说是一个相对完美的免费开源数据备份工具,支持在线无锁表同步复制和可并行高效率的安全备份恢复机制相比mysqldump来说优势较大好处 ...

  3. transition使用

  4. vue学习之webpack

    本质上,Webpack是一个现代 JavaScript应用程序的静态模块打包器(module bundler).当 Webpack处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...

  5. 十四、springboot全局处理异常(@ControllerAdvice + @ExceptionHandler)

    1.@ControllerAdvice 1.场景一 在构建RestFul的今天,我们一般会限定好返回数据的格式比如: { "code": 0, "data": ...

  6. [LeetCode] 58. Length of Last Word_Easy tag: String

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  7. 2.keras实现-->深度学习用于文本和序列

    1.将文本数据预处理为有用的数据表示 将文本分割成单词(token),并将每一个单词转换为一个向量 将文本分割成单字符(token),并将每一个字符转换为一个向量 提取单词或字符的n-gram(tok ...

  8. testng入门教程9 TestNG依赖测试

    有时候,你可能需要在一个特定的顺序调用方法在测试案例,或你想分享一些数据和方法之间的状态.TestNG支持这种依赖测试方法之间的显式依赖它支持声明. TestNG允许指定依赖,无论与否: 使用属性de ...

  9. js五星好评2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 第一篇 Python图片处理模块PIL(pillow)

    本篇包含:一.Image类的属性:1.Format   2.Mode   3.Size    4.Palette    5.Info                   二.类的函数:1.New   ...