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. Python 处理Excel内的数据(案例介绍*2)

    (一)案例一介绍 现在有一匹电商产品跟当日销量的数据,如下,总共有上万笔的数据,现在需要统计每个品牌当日的销售量,比如美宝莲今天总共卖出了多少的商品,另外需要统计每个品牌下面的每个子品类当日销售量(品 ...

  2. Windows安装EMQ服务器(mqtt)

    先去EMQ官网下载安装包 https://www.emqx.io/downloads#broker 注意:此处一定不能下错成企业版的,不然EMQ会由于缺少企业license无法启动服务 解压到任意路径 ...

  3. Java虚拟机OOM问题和四大引用问题简述

    一.请你谈谈实际的项目中在Java虚拟机会抛出哪些异常,每个异常都是怎么产生的? 1.java.lang.StackOverflowError 栈空间满了 public static void sta ...

  4. 深入理解协程(二):yield from实现异步协程

    原创不易,转载请联系作者 深入理解协程分为三部分进行讲解: 协程的引入 yield from实现异步协程 async/await实现异步协程 本篇为深入理解协程系列文章的第二篇. yield from ...

  5. Tomcat的性能优化及JVM内存工作原理

    JVM性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收机制)代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容 1.增加最大连接数 2.调整工作 ...

  6. 【转】利用Eclipse编辑中文资源文件(application_zh_CN.properties )

    既然生为中国人,就没有什么好抱怨的了,遇到编码的问题,那只有解决它了. 如果经常使用Struts,并做过国际化操作的人来说,对于中文资源文件的处理应该不会感到陌生的.比如下面两个文件,一个是英文的,一 ...

  7. Project Settings之Quality翻译

    (版本是2018.4......翻译是自己的渣翻译水平) Unity allows you to set the level of graphical quality it attempts to r ...

  8. Codeforces - A. Watermelon

    A. Watermelon time limit per test 1 second memory limit per test 64 megabytes input standard input o ...

  9. 位运算上的小技巧 - AtCoder

    Problem Statement There is an integer sequence of length 2N: A0,A1,…,A2N−1. (Note that the sequence ...

  10. 关于爬虫的日常复习(18)——scrapy系列3