JustOj 1415: 字符串解压
2024-08-24 07:42:32
题目描述
豆豆非常调皮,总喜欢把一样的东西摆在一起,然后用神奇的猫爪功把他们揉成一团。
比如一堆A,就会被揉成个数+A.
这就是豆豆的字符串压缩算法了。
比如给豆豆一个字符串:ABBCCCDDDDEEEEEEEEEEEccc,就会被他用猫爪功压缩成1A2B3C4D11E3c
输入
输入一行,为豆豆压缩后的字符串。(字符串只包含数字字符和英文字母,并且每个数字之后一定只跟随一个字母,压缩后的字符串长度不超过1000,压缩后的字符串包含的数字不会超过1000)
输出
输出为一行解压后的字符串。
样例输入
1A2B3C4D11E3c
样例输出
ABBCCCDDDDEEEEEEEEEEEccc 题解:直接解压
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <vector>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <map>
#include <set>
using namespace std;
#define lowbit(x) (x&(-x))
#define max(x,y) (x>y?x:y)
#define min(x,y) (x<y?x:y)
#define MAX 100000000000000000
#define MOD 1000000007
#define pi acos(-1.0)
#define ei exp(1)
#define PI 3.141592653589793238462
#define INF 0x3f3f3f3f3f
#define mem(a) (memset(a,0,sizeof(a)))
typedef long long ll;
ll gcd(ll a,ll b){
return b?gcd(b,a%b):a;
}
const int N=;
const int mod=1e9+;
bool flag=;
char a[*N];
char b[*N];
int main()
{
std::ios::sync_with_stdio(false);
scanf("%s",a);
int len=strlen(a);
int t=;
for(int i=;i<len;i++){
if(a[i]>=''&&a[i]<=''){
t*=;
t+=a[i]-'';
}
else {
for(int j=;j<t;j++){
printf("%c",a[i]);
}
t=;
}
}
printf("\n");
return ;
}
最新文章
- IO流-----写到输出流
- linux与php时间函数有关的错误解决
- xxx.app已损坏,打不开.你应该将它移到废纸篓 macOS 10.12 Sierra
- [转]jQuery: how to get which button was clicked upon form submission?
- Flex ActionScript版本的Map类型
- 【MySQL】InnoDB日志机制深入分析
- Linux常用命令之awk
- 【转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
- XP与Win2003下网站配置
- XSLT学习
- Log4j与Log4j2
- ASP.NET Zero--基础设施
- Sprite(雪碧图)的应用
- 第69节:Java中数据库的多表操作
- spring整合curator实现分布式锁
- Java Web请求和响应机制
- CSV表格融合
- 16 python xml模块
- 删除k8s中一直处于Terminating的资源
- Python 元组 count() 方法