http://codeforces.com/problemset/problem/490/E

dfs,过程要注意细节,特别是当前位置取了与上个数当前位置相同是,若后面不符合条件,则当前位置要重置'?'。

#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
string a[]; bool dfs(int i,int j, bool flag)
{ if(j == a[i].size()) return flag;
if(flag)
{
if(a[i][j] == '?') a[i][j] = '';
return dfs(i,j+,flag);
}
if(a[i][j] == '?')
{
a[i][j] = a[i-][j];
if(dfs(i,j+,flag)) return ;
else if(a[i][j] == '')
{
a[i][j] = '?';
return ;
}
else
{
a[i][j]++;
return dfs(i,j+,);
}
}
if(a[i][j] > a[i-][j]) return dfs(i,j+,);
if(a[i][j] == a[i-][j]) return dfs(i,j+,flag);
else return ;
}
int main()
{
a[] = "";
int n;
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i];
for(int i = ;i <= n;i++)
{
if(a[i].size() > a[i-].size())
{
for(int k = ;k < a[i].size();k++)
{
if(a[i][k] == '?')
{
if(k == ) a[i][k] = '';
else a[i][k] = '';
}
}
}
else if(a[i].size() < a[i-].size())
{
cout << "NO" << endl;
return ;
}
else if(!dfs(i,,))
{
cout << "NO" <<endl;
return ;
}
}
cout << "YES" << endl;
for(int i = ;i <= n;i++) cout << a[i] << endl;
return ;
}

Codeforces_490_E的更多相关文章

随机推荐

  1. MySQL 持久化保障机制-redo 日志

    我们在 聊一聊 MySQL 中的事务及其实现原理 中提到了 redo 日志,redo 日志是用来保证 MySQL 持久化功能的,需要注意的是 redo 日志是 InnoDB 引擎特有的功能. 为什么 ...

  2. .Net Core 导出Html到PDF

    前言 最近由于项目的需求问题,涉及到了在.Net Core中导出PDF的一个问题,最后选择方式是后端拼接到Html页面然后再通过Html导出到PDF.中间也尝试了许多的NuGet包.但是并不如意,可用 ...

  3. C++类中的重载

    函数重载回顾 函数重载的本质为相互独立的不同函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域 类中的成员函数可以进行重载 构造函 ...

  4. WiFi模块Demo(新手教程)图文详解模块使用教程

    本文出自APICloud官方论坛,感谢论坛版主 Mr.ZhouHeng 的分享. 第一步我们需要在开发控制台创建一个Native App应用以及添模块的准备工作: 按照下图步骤 输入完点创建完成之后 ...

  5. 读取Core下的appsettings.json的值的时候中文乱码

    这个百度一下一大堆,我就用的这个:然后重新生成一次就好了. 2.有的是更改VS的什么高级保存之类的,我记得之气设置过, 然后就是:这篇文章

  6. spdlog 基本结构分析

    spdlog 基本结构分析 代码取自 V1.5.0, 代码堪称美学. spdlog 是一个只有头文件的C++日志库,速度非常快,扩展性很强,更重要的是 社区活跃,文档齐全. 使用 参考官方的 exam ...

  7. matplotlib 直方图

    一.特点 数据必须是原始数据不能经过处理,数据连续型,显示一组或多组分布数据 histogram 直方图 normed 定额 二.核心 hist(x, bins=None, normed=None) ...

  8. [bzoj2120] [洛谷P1903] 数颜色

    Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜 ...

  9. HashMap在JDK7和JDK8中的区别

    在[深入浅出集合Map]中,已讲述了HashMap在jdk7中实现,在此就不再细说了 JDK7中的HashMap 基于链表+数组实现,底层维护一个Entry数组 Entry<K,V>[]  ...

  10. 基于 Lind.DDD 的 权限管理系统

    先起个头,在跟吧 表结构  12个表   ps: sxiaomais.blog.163.com/blog/static/31741203200811102630406/ 需要数据库 文件的 附件 权限 ...