codeforces37C
CF37C Old Berland Language
sol:直接暴力模拟下去,长度加了就补0,凑个数就+1,凑不好就puts(“no”)
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=; bool f=; char ch=' ';
while(!isdigit(ch)) {f|=(ch=='-'); ch=getchar();}
while(isdigit(ch)) {s=(s<<)+(s<<)+(ch^); ch=getchar();}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<) {putchar('-'); x=-x;}
if(x<) {putchar(x+''); return;}
write(x/); putchar((x%)+'');
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,nn,a[N],b[N],c[N];
vector<string>ans;
#define PB push_back
bool used[N];
inline bool add(string &s)
{
int i;
s[s.size()-]++;
for(i=s.size()-;i>;i--) if(s[i]=='') {s[i]=''; s[i-]++;}
return (s[]=='')?:;
}
int main()
{
freopen("codeforces37C_data.in","r",stdin);
int i,j;
string s;
R(n);
for(i=;i<=n;i++)
{
a[i]=b[i]=read(); c[a[i]]++;
}
sort(a+,a+n+); nn=unique(a+,a+n+)-a-;
a[]=;
// cout<<"nn="<<nn<<endl;
for(i=;i<=nn;i++)
{
for(j=a[i-]+;j<=a[i];j++) s+='';
bool flg=,oo;
for(;;)
{
// cout<<"c="<<c[a[i]]<<endl;
if(!c[a[i]]) break;
if(flg)
{
oo=add(s);
if(!oo) return puts("NO"),;
}
flg=; c[a[i]]--; ans.PB(s);
}
oo=add(s); if((!oo)&&(i!=nn)) return puts("NO"),;
}
// cout<<"ans.size()="<<ans.size()<<endl;
puts("YES");
for(i=;i<=n;i++)
{
for(j=;j<ans.size();j++) if(ans[j].size()==b[i]&&(!used[j]))
{
cout<<ans[j]<<endl; used[j]=; break;
}
}
return ;
}
codeforces37C的更多相关文章
随机推荐
- nodeJs+vue安装教程详解 相信
相信很多朋友都在装node服务和安装vue的时候会遇到一些问题,下面为大家详细介绍node服务的安装以及vue的安装: 1.nodeJs官网下载版本(根据自己电脑的配置进行相应下载即可):默认安装路径 ...
- layer.open自定义弹出位置
fixed:false,设置top才有效,待测试. 这个设置不起作用 var img = "<img src=\"/_temp/qrcodenet/m/book/book20 ...
- App客户端性能测试点总结
一.内存 测试范围1. 空闲状态下的应用内存消耗情况2. 中等规格状态下的应用内存消耗情况3. 满规格状态下的应用内存消耗情况4. 应用内存峰值情况5. 应用内存泄露情况6. 应用是否常驻内存7. 压 ...
- iOS NSNotificationCenter 使用姿势详解
最近在做平板的过程中,发现了一些很不规范的代码.偶然修复支付bug的时候,看到其他项目代码,使用通知的地方没有移除,我以为我这个模块的支付闪退是因为他通知没有移除的缘故.而在debug和看了具体的代码 ...
- OpenStack kilo版(2) keystone部署
部署在controller节点 配置数据库 MariaDB [(none)]> CREATE DATABASE keystone; Query OK, 1 row affected (0.00 ...
- Dubbo服务发布、引用
DUBBO原理.应用与面经总结 Dubbo原理和源码解析之服务暴露 Dubbo原理和源码解析之服务引用 服务发布 服务的发布总共做了以下几件事,这个也可以从日志log上看出来: 暴露本地服务 暴露远程 ...
- 软件自带依赖库还是共享对象库/为什么linux发行版之间不能有一个统一的二进制软件包标准
接前文:Linux软件包(源码包和二进制包)及其区别和特点 在前文,我们知道了linux软件包分为源码包和二进制包两种方式,而不同的发行版之间又有着自己的二进制打包格式. 首先,软件运行依赖着各种各样 ...
- javascript_06-控制流程
流程控制 程序的三种基本结构 顺序结构 选择结构 循环结构 判断语句 if 语法: if(condition){ //todo }else if{ //todo }else{ //todo } var ...
- [转]理解Linux的性能
来源:http://www.linuxfly.org/post/114/ [转]理解Linux的性能 项目中常遇到需要对目前运行的系统进行效率分析,或碰到客户咨询如何优化系统的效率问题.更 ...
- Hadoop读写mysql
需求 两张表,一张click表记录某广告某一天的点击量,另一张total_click表记录某广告的总点击量 建表 CREATE TABLE `click` ( `id` ) NOT NULL AUTO ...