记录编号 41671 评测结果 WAWAWWWWWW
题目名称 [NOIP 2010冲刺四]报数 最终得分 20
用户昵称 Gravatarfflyt 是否通过 未通过
代码语言 C++ 运行时间 0.003 s
提交时间 2012-08-08 20:25:44 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
	freopen("readrule.in","r",stdin);
    freopen("readrule.out","w",stdout);
	
	char after[300],zf;
	char save[300];
	
	cin>>save;
	int l;
	l=strlen(save);
	
	
	
	char ws[20];
	ws[2]='S';ws[3]='B';ws[4]='Q';ws[5]='W';
	ws[6]='S';ws[7]='B';ws[8]='Q';ws[9]='Y';
	ws[10]='S';ws[11]='B';ws[12]='Q';ws[13]='W';
	int i,j;
	int doc=l;
	if(save[0]=='-') zf='-';
	for(i=0;i<l;i++)
	{
		if(save[i]=='.')
		{
			doc=i;
			after[i]=save[i];
			save[i]='D';
			break;
		}
	}
	int a=0;
	if(zf=='-') a++;
	for(;;a++)
	{
		if(save[a]!='0') break;
	}
	
	int ll=1;
	for(i=doc-1;i>=a;i--)
	{
		if(save[i]!='0')
			after[i]=ws[ll];
		ll++;
		
	}
	for(i=a;i<doc;i++)
	{
		if(save[i]=='0')
		{
			j=i;
			for(;;i++)
			{
				if(save[i]!='0')
				{
					i--;
					break;
				}
			}
			after[j]=i;
		}
	}
	
	bool flag=0;
	for(i=l-1;i>=doc;i--)
		if(save[i]!='0')
		{
			flag=1;
			l=i+1;
			break;
		}
	if(!flag) l=doc;
	
	int loi=doc-a;
	bool w=0,y=0;
	if(loi>8)
	{
		y=1;
		
	}
	if(loi>4)
	{
		for(i=doc-8;i<doc-4;i++)
			if(save[i]!='0') w=1;
	}
	
	
	
	
	
	
	if(zf=='-') cout<<'F';
	for(i=a;i<l && i<doc-1;i++)
	{
		
		
		if(save[i]=='0') 
		{
			cout<<save[i];
			for(;i<=after[i];i++)
			{
				if(w && i==doc-5)
				{
					cout<<'W';
					continue;
				}
				if(y && i==doc-9)
				{
					cout<<'Y';
					continue;
				}
			}
		}
		else {cout<<save[i]<<after[i];}
	}
	if(save[doc-1]!='0') cout<<save[doc-1];
	if(l>doc)
	{
		for(i=doc;i<l;i++)
			cout<<save[i];
	}
	cout<<endl;
	
	return 0;
}