📄 2241422_ac_296ms_5916k.cc
字号:
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
char ch, tmp[1000001], str[1000001];
long next[1000001], num[28], sum[28];
void input()
{
int t;
long i, j, no, tt;
scanf("%d",&t);
while(t--)
{
scanf("%s",tmp);
j = 0;
for(i = 0; tmp[i] != '\0'; i++)
if(tmp[i]<='9'&&tmp[i]>='0')
{
no = atol(&tmp[i]);
no--;
while(no--)
str[j++] = ch;
while(tmp[i]<='9'&&tmp[i]>='0')
i++;
i--;
}
else
str[j++] = ch = tmp[i];
str[j] = '\0';
memset(num,0,sizeof(num));
for(i = 0; i < j; i++)
{
tt = str[i]-'A'+1;
if(str[i]=='.')
tt = 0;
num[tt]++;
}
sum[0] = 0;
for(i = 1; i < 28; i++)
sum[i] = sum[i-1]+num[i-1];
for(i = 0; i < j; i++)
{
tt = str[i]-'A'+1;
if(str[i]=='.')
tt = 0;
next[sum[tt]++] = i;
}
for(i = tt = 0; i < j; i++)
{
if(i)
printf("%c",str[next[tt]]);
tt = next[tt];
}
printf(".\n");
}
}
int main()
{
input();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -