题目描述
杰克船长担心船上存在其他海盗船的间谍,于是和他的心腹们设计了一种加密通话方式,其中对数字加密的方式是这样的:如果这个数字是1222334111,可看做1个1,3个2,2个3,1个4,3个1,那么会被加密,1132231431,再比如数字是1111111111时,会被加密为101,表示10个1.
虽然这种加密方式可能存在歧义,但是杰克船长暂时想不到更好的方法了。现在告诉你一个数字,位数不超过1000位,请你按照这种加密方式输出加密后的数字。
输入格式
输入一行,一个正整数,位数不超过1000
输出格式
输出加密后的数字
输入输出样例
输入样例1:
100200300
输出样例1:
112012201320
【耗时限制】1000ms 【内存限制】128MB
野生小题目,主要是计数
代码:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
string s;
char c;
int cnt=1;
int main()
{freopen("call.in","r",stdin);freopen("call.out","w",stdout);cin>>s;c=s[0];for(int i=1;i<=s.size();i++){if(s[i]==c) cnt++;else{cout<<cnt<<c;c=s[i];cnt=1;}}return 0;
}