Codeforces_490_E
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的更多相关文章
随机推荐
- ACM北大暑期课培训第三天
今天讲的内容是深搜和广搜 深搜(DFS) 从起点出发,走过的点要做标记,发现有没走过的点,就随意挑一个往前走,走不 了就回退,此种路径搜索策略就称为“深度优先搜索”,简称“深搜”. bool Dfs( ...
- 删除centos自带的openjdk
[wj@master hadoop]$ rpm -qa | grep javajava-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64python-javapa ...
- linux入门系列6--软件管理之rpm和yum仓库
前面系列文章中,我们对vi编辑器和46个基本命令进行了介绍,本文将演示在centos7下使用RPM和YUM安装和管理软件. 一.RPM软件包管理器 1.1 RPM背景介绍 RPM(RedHat P ...
- 1z0-062 题库解析5
题目: Which three statements are true about Flashback Database? A. Flashback logs are written sequenti ...
- Logback源码分析
在日常开发中经常通过打印日志记录程序执行的步骤或者排查问题,如下代码类似很多,但是,它是如何执行的呢? package chapters; import org.slf4j.Logger; impor ...
- .NET编程周记第3期-2020年1月19日
整理了2020年1月19日这周阅读的几篇有趣的和.NET开发相关的文章.在这里和大家分享. 0x00 Introducing Nullable Reference Types in C# 如标题所示, ...
- ubuntu系统下载后的.deb软件安装命令
查看某个软件是否安装,比如查看QQ软件是否安装并列出软件包名: dpkg -l | grep qq 删除某款软件:sudo dpkg -r 软件包名 安装软件 : sudo dpkg -i *.deb
- Java语法进阶16-Lambda-Stream-Optional
Lambda 大年初二,大门不出二门不迈.继续学习! 函数式接口 Lambda表达式其实就是实现SAM接口的语法糖,所谓SAM接口就是Single Abstract Method,即该接口中只有一个抽 ...
- 软件工程概论 网站开发要掌握的技术 &登录界面
1.网站系统开发需要掌握的技术 一.界面和用户体验(Interface and User Experience) 1.1 知道如何在基本不影响用户使用的情况下升级网站.通常来说,你必须有版本控制系统( ...
- xlwings API Documentation
http://docs.xlwings.org/en/stable/api.html Top-level functions xlwings.view(obj, sheet=None) Opens a ...