记录编号 171913 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]字符串的展开 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2015-07-21 14:11:16 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<vector>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
char s[998];
int i=0,p1,p2,p3,j,zj,m;
vector<char>::iterator B;
vector<char> A;
 
void w1()
{
	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 w2()
{
	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 w3()
{
	zj=s[i+1];
	for(char c=s[i-1]+1;c<zj;c++)
	for(j=1;j<=p2;j++)
	A.push_back('*');
}
 
void w4()
{
	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 w5()
{
	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 w6()
{
	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)w1();
	if(p1==2)w2();
	if(p1==3)w3();
			}else
{
if(p1==1)w4();
if(p1==2)w5();
if(p1==3)w6();
}
}
	}
	else A.push_back(s[i]);
	}
}
}
	for(B=A.begin();B!=A.end();B++)
	printf("%c",*B);
	return 0;
}