题目大意:有三个人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. Ubuntu脚本修改IP信息

    #!/bin/bash cd /etc/network #清除4-9行 sed -i '4,9d' interfaces #在第3行添加网卡名称 sed -i "3a auto ${1}&q ...

  2. Service启动,绑定与交互

    1. Service的启动方式有startServcie和bindService两种. startService时,会经历onCreate—onStartCommand—onDestroy生命周期, ...

  3. console 命令进行 JS 调试的灵活用法

    1.console.log() 占位符 console.log 支持的占位符包括:字符(%s).整数(%d或%i).浮点数(%f)和对象(%o): console.log('字符串: %s, 整数: ...

  4. Spring Cloud (十四):Spring Cloud 开源软件都有哪些?

    学习一门新的技术如果有优秀的开源项目,对初学者的学习将会是事半功倍,通过研究和学习优秀的开源项目,可以快速的了解此技术的相关应用场景和应用示例,参考优秀开源项目会降低将此技术引入到项目中的成本.为此抽 ...

  5. MySQL 8 新特性之自增主键的持久化

    自增主键没有持久化是个比较早的bug,这点从其在官方bug网站的id号也可看出(https://bugs.mysql.com/bug.php?id=199).由Peter Zaitsev(现Perco ...

  6. C#使用OneNote的图片文字识别功能(OCR)

    http://www.cnblogs.com/Charltsing/p/OneNoteOCR.html 有需要技术咨询的,联系QQ564955427 前段时间有人问我能不能通过OneNote扫描图片, ...

  7. PS调出怀旧雨中特写的非主流照片

    原图 最终效果 一.打开原图素材,按Ctrl + ALt + ~ 调出高光选区,按Ctrl + Shift + I 反选,然后创建曲线调整图层,适当调暗一点. 二.合并所有图层,点通道面板,选择蓝色通 ...

  8. AQS解析(未完成)

    参考:Java并发之AQS详解 同步队列和condition等待队列.获取到锁的线程则处于可运行状态,而未获取到锁的线程则被添加到同步队列中,等待获取到锁的线程释放锁. 一.数据结构 Node sta ...

  9. RestTemplete

    RestTemplete是由spring提供的,可以用来模拟浏览器进行服务调用的封装好的Api,和Apache 的HttpClient功能相同,在分布式系统中可以用来服务之间的调用. 开发步骤: 1. ...

  10. vue传参二

    <template> <ul> <li v-for="(value,key,index) in list" :key="index" ...