题目大意:有三个人alice,bob,yazid,三种颜色red,blue,green,每个人对应一种颜色。

[name] is [color].

Yazid会做以下操作:

1 将三个句子连在一起

2 去掉逗号和空格

3 全部转换为小写

Alice,Bob会在串中加入任意小写字母。

现给定最后的串,求开始的串。

答案可能有多种,输出字典序最小的一种。

思路:一开始以为很复杂,一看就是一个搜索。

先找名字再找is最后找颜色,重复三次即可得到结果。

考试的时候把字典序理解错了,疯狂0分,换了个搜索顺序就ac了,血亏。

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int T,a[][];
char ch[],name[][]={"alice","bob","yazid"},nm[][]={"Alice","Bob","Yazid"},color[][]={"blue","green","red"},pd[]={"is"};
bool flag,b1[],b2[];
int fnd(int s,char c)
{
int l=strlen(ch+);
for(int i=s;i<=l;i++)
if(ch[i]==c)
return i;
return -;
}
void dfs(int x,int k,int s,int e)
{
if(x==&&!flag)
{
flag=;
for(int i=;i<=;i++)
printf("%s %s %s.",nm[a[i][]],pd,color[a[i][]]);
printf("\n");
}
if(k==)//??
{
for(int i=;i<=;i++)
if(!b1[i])
{
bool flg=;
int p=s;
for(int j=;j<strlen(name[i]);j++)
{
p=fnd(p,name[i][j]);
if(p==-)
{
flg=;
break;
}
p++;
}
if(!flg)
{
b1[i]=;
a[x][]=i;
dfs(x,,p,e);
b1[i]=;
}
}
}
else if(k==)
{
bool flg=;
int p=s;
for(int j=;j<;j++)
{
p=fnd(p,pd[j]);
if(p==-)
{
flg=;
break;
}
p++;
}
if(!flg)
dfs(x,,p,e);
}
else
{
for(int i=;i<=;i++)
if(!b2[i])
{
bool flg=;
int p=s;
for(int j=;j<strlen(color[i]);j++)
{
p=fnd(p,color[i][j]);
if(p==-)
{
flg=;
break;
}
p++;
}
if(!flg)
{
b2[i]=;
a[x][]=i;
dfs(x+,,p,e);
b2[i]=;
}
}
}
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%s",ch+);
flag=;
dfs(,,,strlen(ch+));
if(!flag)
printf("No solution.\n");
}
return ;
}

Tyche 2317 Color的更多相关文章

  1. 【转】c#、wpf 字符串,color,brush之间的转换

    转自:http://www.cnblogs.com/wj-love/archive/2012/09/14/2685281.html 1,将#3C3C3C 赋给background this.selec ...

  2. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  3. Python为8bit深度图像应用color map

    图片中存在着色版的概念,二维矩阵的每个元素的值指定了一种颜色,因此可以显示出彩色. 迁移调色板 下述python代码将VOC数据集中的某个语义分割的图片的调色板直接应用在一个二维矩阵代表的图像上 #l ...

  4. (转)System.Drawing.Color的颜色对照表

    经常使用System.Drawing.Color, 本篇介绍一下颜色与名称及RGB值的对应关系. 1. 颜色与名称的对照表(点击下图放大看): 2. 颜色与RGB值对照表: Color.AliceBl ...

  5. 激光打印机的Color/paper, Xerography介绍

    Color Basic 看见色彩三要素: 光源,物体,视觉 加色色彩模型:R,G,B 多用于显示器 减色色彩模型:C,M,Y,K 多用于打印复印 Paper 东亚地区常用A系列标准用纸,在多功能一体机 ...

  6. 安卓工具箱:color of Style

    <?xml version="1.0" encoding="utf-8"?> <resources> <color name=&q ...

  7. UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)

    在 IOS 中,对 UIScrollView 的滚动条(ScrollBar Indicators)的自定义设置接口,一直都是很少的.除了能自定义简单的样式(UIScrollViewIndicatorS ...

  8. OpenCASCADE Color Scale

    OpenCASCADE Color Scale eryar@163.com Abstract. The color scale is a specialized label object that d ...

  9. Color Transfer between Images code实现

    上计算机视觉课老师布置的作业实现论文:Color Transfer between Images 基本思路是: 1.给定srcImg和targetImg 2.将RGB空间转为Lab空间 3.根据论文中 ...

随机推荐

  1. windows下数据挖掘相关包numpy、pandas的安装

    安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...

  2. java基础 容器 API

  3. 【JS小技巧】JavaScript 函数用作对象的隐藏问题(F.ui.name)

    用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...

  4. FineUI经典项目展示(2)基础管理系统(附在线演示)

    本系列<FineUI经典项目展示>文章将会集中展示一批使用FineUI(开源版).专业版.MVC版的经典项目. 如果你希望自己的FineUI项目出现在这个舞台,请到官网论坛提交申请: ht ...

  5. Java虚拟机性能监测工具Visual VM与OQL对象查询语言

    1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat.jmap.jha ...

  6. Shiro安全框架入门笔记

    入门 1.simpleRealmTest package cn.realm; import org.apache.shiro.SecurityUtils; import org.apache.shir ...

  7. Day8 Python基础之遗漏知识点(六)

    1. 遗漏知识点 深.浅拷贝:   http://www.cnblogs.com/yuanchenqi/articles/5782764.html a=b: 浅拷贝: 深拷贝 集合(set) 集合的定 ...

  8. PS绘制扁平化风格相机镜头UI图标

    一.新建一个画布,绘制一个460*460图层,圆角半径40像素.填充渐变颜色,加一点点投影,这样就有质感了. 二.接下来我们要来绘制主体部分,绘制一个圆,大小400*400,用内阴影,渐变叠加,投影得 ...

  9. redis中的hash、列表、集合操作

    一.hash操作 数据结构:key:{k1:v1, k2:v2, k3:v3} 类似Python中的字典 如:info : {name: lina, age: 22, sex: F} hset key ...

  10. 【转】Restful是什么

    REST的概念是什么 维基百科  表现层状态转换(REST,英文:Representational State Transfer)是Roy Thomas Fielding博士于2000年在他的博士论文 ...