记录编号 |
41671 |
评测结果 |
WAWAWWWWWW |
题目名称 |
[NOIP 2010冲刺四]报数 |
最终得分 |
20 |
用户昵称 |
fflyt |
是否通过 |
未通过 |
代码语言 |
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;
}