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