很挫的代码。。。不过思路比较简单
#include <iostream>
#include <string>
using namespace std;
void inputPos(char *p,int *pos,int num)
{
int tmp=*pos;
int arr[4],i=0;
while(num)
{
arr[i++]=num%10;
num/=10;
}
i--;
while(i>=0)
p[tmp++]=arr[i--]+'0';
*pos=tmp;
}
int main()
{
int testNum;
cin>>testNum;
string inStr;
char outStr[2000];
while(testNum--)
{
cin>>inStr;
char tmp=inStr[0];
int tmpCnt=1;
int outPos=0;
for(int i=1;;i++)
{
while(i<inStr.size()&&tmp==inStr[i]){tmpCnt++;i++;}
inputPos(outStr,&outPos,tmpCnt);
outStr[outPos++]=tmp;
if(i<inStr.size())
{
tmpCnt=1;
tmp=inStr[i];
}
else
break;
}
outStr[outPos]=0;
cout<<outStr<<endl;
}
return 0;
}