Tyche 2317 Color
题目大意:有三个人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的更多相关文章
- 【转】c#、wpf 字符串,color,brush之间的转换
转自:http://www.cnblogs.com/wj-love/archive/2012/09/14/2685281.html 1,将#3C3C3C 赋给background this.selec ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- Python为8bit深度图像应用color map
图片中存在着色版的概念,二维矩阵的每个元素的值指定了一种颜色,因此可以显示出彩色. 迁移调色板 下述python代码将VOC数据集中的某个语义分割的图片的调色板直接应用在一个二维矩阵代表的图像上 #l ...
- (转)System.Drawing.Color的颜色对照表
经常使用System.Drawing.Color, 本篇介绍一下颜色与名称及RGB值的对应关系. 1. 颜色与名称的对照表(点击下图放大看): 2. 颜色与RGB值对照表: Color.AliceBl ...
- 激光打印机的Color/paper, Xerography介绍
Color Basic 看见色彩三要素: 光源,物体,视觉 加色色彩模型:R,G,B 多用于显示器 减色色彩模型:C,M,Y,K 多用于打印复印 Paper 东亚地区常用A系列标准用纸,在多功能一体机 ...
- 安卓工具箱:color of Style
<?xml version="1.0" encoding="utf-8"?> <resources> <color name=&q ...
- UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)
在 IOS 中,对 UIScrollView 的滚动条(ScrollBar Indicators)的自定义设置接口,一直都是很少的.除了能自定义简单的样式(UIScrollViewIndicatorS ...
- OpenCASCADE Color Scale
OpenCASCADE Color Scale eryar@163.com Abstract. The color scale is a specialized label object that d ...
- Color Transfer between Images code实现
上计算机视觉课老师布置的作业实现论文:Color Transfer between Images 基本思路是: 1.给定srcImg和targetImg 2.将RGB空间转为Lab空间 3.根据论文中 ...
随机推荐
- JVM源码分析--ClassLoader类加载器
本人原创,转载请注明出处:https://www.cnblogs.com/javallh/p/10224187.html 1.JDK已有类加载器: BootStrap ClassLoader (启动类 ...
- C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步)
前几天碰到一个线程的顺序执行的问题,就是一个异步线程往A接口发送一个数据请求.另外一个异步线程往B接口发送一个数据请求,当A和B都执行成功了,再往C接口发送一个请求.说真的,一直做BS项目,对线程了解 ...
- vue 项目中添加阿里巴巴矢量图
1. 选择需要的图标,添加到购物车 2. 打开购物车,添加至我的项目 3. 打开项目列表 - 更多操作 - 编辑项目 修改FontClass/Symbol前缀,自定义一个名称,例如:v-icon-cu ...
- 【愚人节快乐】拥抱Bootstrap,FineUI新版效果超炫!
鉴于 Bootstrap 备受欢迎,我们决定用 Bootstrap 完全替换掉 jQuery,得到了更加漂亮的界面,先睹为快: 注:网页背景图片来自百度网盘,版权归百度所有! 详情:http://fi ...
- Maven报错Archive for required library:某.jar' in project '项目名'
Maven报错Archive for required library:某.jar' in project '项目名'cannot be read or is not a valid ZIP file ...
- WebApi集成Swagger
1.新建一个WebApi空项目 2.新建一个Person实体类: public class Person { public int ID { get; set; } public string Use ...
- JAVA 最新 环境搭建(JDK 1.8 + Tomcat 9 + eclipse oxygen + mysql 5.7)
一.JDK的安装与配置 1.从官网下载jdk,注意是jdk不是jre.jdk包里面包含了jre.最好从官网下载.传送门:http://www.oracle.com/technetwork/java/j ...
- Python全栈开发之路 【第八篇】:面向对象编程设计与开发(2)
一.继承与派生 什么是继承? 继承指的是类与类之间的关系,是一种什么是什么的关系,继承的功能之一就是用来解决代码重用问题. 继承是一种创建新的类的方式,在python中,新建的类可以继承一个或多个父类 ...
- Vue2 实现树形菜单(多级菜单)功能模块
结构示意图 ├── index.html ├── main.js ├── router │ └── index.js # 路由配置文件 ├── components # 组件目录 │ ├── App. ...
- js判断是否是微信浏览器以及重定向
async created () {//这个是判断是否是微信浏览器, let ua = navigator.userAgent.toLowerCase() if (ua.match(/MicroMes ...