CF1209C Paint the Digits

题意:给定T组数据,每组数据第一行输入数字串长度,第二行输入数字串,用数字1和2对数字串进行涂色,被1涂色的数字子串和被2涂色的数字子串拼接成新的数字串,要求新的数字串是非递减的。

题解:对原数字串进行排序,然后从后往前和从前往后各涂一次,若涂不完则输出“-”。

#include<iostream>
#include<string.h>
#include<string>
#include<algorithm>
using namespace std;
string a,b;
int vis[];
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
cin>>a;
b=a;
memset(vis,,sizeof(vis));
sort(b.begin(),b.end());
int pos1=n-;
for(int i=n-;i>=;i--)
{
if(b[pos1]==a[i])
{
vis[i]=;
pos1--;
}
}
pos1=pos1+;
int pos2=;
for(int i=;i<n;i++)
{
if(vis[i]==&&a[i]==b[pos2])
{
vis[i]=;
pos2++;
}
}
if(pos1!=pos2)
cout<<'-'<<endl;
else
{
for(int i=;i<n;i++)
cout<<vis[i];
cout<<endl;
}
}
}

最新文章

  1. Dokuwiki布署小记
  2. 利用spring、cxf编写并发布webservice
  3. iOS的I/O操作
  4. UVA 10078 The Art Gallery
  5. JS对undefined,null,NaN判断
  6. IIS Hang Troubleshoot
  7. 4、js内置函数
  8. linux的nvme驱动需要关心的统计项
  9. 【Unity Shaders】Using Textures for Effects介绍
  10. redo/declare/typeset
  11. c++11 tuple实现
  12. numpy版本查看以及升降
  13. [cb]SceneView 获取鼠标位置
  14. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作
  15. Ubuntu urllib2.URLError:&lt;urlopen error unknown url type:https&gt;
  16. touch-action 解决移动端300ms延迟问题
  17. AtCoder Regular Contest 096 D - Static Sushi(线性dp)
  18. MFC函数—CWinApp::LoadStdProfileSettings
  19. 10-08常用的TIME和DATE函数以及各个函数对应的头文件
  20. Mac下运行git报错&quot;xcrun: error: invalid active developer path ..&quot;

热门文章

  1. powerbuilder连接oracle数据库
  2. python爬取course课程的信息
  3. unittest和unittest2的区别差异、unittest2框架------执行原理
  4. 第三方控件引起的&quot;类型Universe无法解析程序集&quot;的血案
  5. PTA----7-3树的遍历
  6. 吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)
  7. express session 实现登录
  8. HDU1875 畅通工程再续
  9. 树莓派4B踩坑指南 - (10)安装坚果云(更新:暂不支持)
  10. Jquery实现ajax常用属性