| 记录编号 | 
        132519 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        48.[NOIP 2007]字符串的展开 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         水中音 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.005 s  | 
    
    
        | 提交时间 | 
        2014-10-26 06:10:23 | 
        内存使用 | 
        0.31 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
char s[110];
int i=0,p1,p2,p3,j,zj,m;
vector<char> A;
vector<char>::iterator B;
void work1()//1,1
{
	zj=s[i+1];
	for(char c=s[i-1]+1;c<zj;c++)
	for(j=1;j<=p2;j++)
	A.push_back(c);
}
void work2()
{
	if(s[i-1]>='a'&&s[i-1]<='z')
	{
		zj=s[i+1]-32;
		for(char c=s[i-1]-31;c<zj;c++)
		for(j=1;j<=p2;j++)
		A.push_back(c);
	}
	else
	{
		zj=s[i+1];
		for(char c=s[i-1]+1;c<zj;c++)
		for(j=1;j<=p2;j++)
		A.push_back(c);
	}
}
void work3()
{
	zj=s[i+1];
	for(char c=s[i-1]+1;c<zj;c++)
	for(j=1;j<=p2;j++)
	A.push_back('*');
}
void work4()
{
	zj=s[i-1];
	for(char c=s[i+1]-1;c>zj;c--)
	for(j=1;j<=p2;j++)
	A.push_back(c);
}
void work5()
{
	if(s[i-1]>='a'&&s[i-1]<='z')
	{
		zj=s[i-1]-32;
		for(char c=s[i+1]-33;c>zj;c--)
		for(j=1;j<=p2;j++)
		A.push_back(c);
	}
	else
	{
		zj=s[i-1];
		for(char c=s[i+1]-1;c>zj;c--)
		for(j=1;j<=p2;j++)
		A.push_back(c);
	}
}
void work6()
{
	zj=s[i+1];
	for(char c=s[i-1]+1;c<zj;c++)
	for(j=1;j<=p2;j++)
	A.push_back('*');
}
int main()
{
	freopen("expand.in","r",stdin);
	freopen("expand.out","w",stdout);
	scanf("%d%d%d",&p1,&p2,&p3);
	scanf("%s",s);
	m=0;i=0;
	while(s[m]!=' '&&s[m]!='\0'&&s[m]!='\n')m++;
	while(s[i]=='-')
	{
		A.push_back(s[i]);
		i++;
	}
	for(;i<m;i++)
	{
		if(s[i]!='-')A.push_back(s[i]);
		else
		{
			if(s[i+1]!=' ')
			{
				if((s[i-1]<='z'&&s[i+1]<='z'&&s[i-1]>='a'&&s[i+1]>='a')||(s[i-1]<='9'&&s[i+1]<='9'&&s[i-1]>='0'&&s[i+1]>='0'))
				{
					if(s[i+1]<=s[i-1])
					{
						A.push_back(s[i]);
						continue;
					}
					else
					{
						if(p3==1)
						{
							if(p1==1)work1();
							if(p1==2)work2();
							if(p1==3)work3();
						}
						else
						{
							if(p1==1)work4();
							if(p1==2)work5();
							if(p1==3)work6();
						}
					}
				}
				else A.push_back(s[i]);
			}
		}
	}
	for(B=A.begin();B!=A.end();B++)
	printf("%c",*B);
	return 0;
}