Page 1 of 1
11787 - Numeral Hieroglyphs
Posted: Wed May 19, 2010 11:25 pm
by obbY
Is there any critical input for this problem? It seems quite easy but I keep getting WA
My program passes the sample output, I don't know why I get WA, here's my C code
edit: I got ACC, I made a silly mistake

11787 - Numeral Hieroglyphs
Posted: Sun Jan 23, 2011 8:09 pm
by farhan_iut
This problem seems pretty easy.. i got corrrect output for several test cases bt cant find the problem.. plz some1 help.. here my code:
Code: Select all
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<map>
using namespace std;
int main(){
map<char,int>mp,cp;
char a[1000];
int n,u,i,j,k,l,f,flag,p;
int ans;
mp.clear();
char num[7] = {'B', 'U', 'S', 'P', 'F', 'T', 'M'};
char mum[7] = {'M', 'T', 'F', 'P', 'S', 'U', 'B'};
mp['B']=1;
mp['U']=10;
mp['S']=100;
mp['P']=1000;
mp['F']=10000;
mp['T']=100000;
mp['M']=1000000;
//freopen("in.txt","r",stdin);
scanf("%d\n",&n);
while(n--){
cp.clear();
gets(a);
ans=0;
p=0;
f=1;
for(i=0;i<strlen(a);i++){
cp[a[i]]++;
if(cp[a[i]]>9){
flag=0;
f=0;
break;
}
flag=0;
for(j=p;j<7;j++){
if(a[i]==num[j]){
p=j;
flag=1;
break;
}
}
if(flag==0) break;
ans+=mp[a[i]];
}
if(flag==0&&f==1){
ans=0;
p=0;
for(i=0;i<strlen(a);i++){
flag=0;
for(j=p;j<7;j++){
if(a[i]==mum[j]){
p=j;
flag=1;
break;
}
}
if(flag==0) break;
ans+=mp[a[i]];
}
}
if(flag==0) cout<<"error"<<endl;
else cout<<ans<<endl;
}
return 0;
}
Re: 11787 - Numeral Hieroglyphs
Posted: Mon Jun 06, 2011 9:06 pm
by robot
Hi farhan...
try this input... for this situition properly doesn't work ur program....
1
SUUUUUUUUUU
ouput:
error
Re: 11787 - Numeral Hieroglyphs
Posted: Wed Jul 27, 2011 4:37 pm
by plamplam
Some inputs:
Code: Select all
20
B
BB
BBBBBBBBBB
BUUB
TM
MTFM
MTFPSB
MFTSB
BUSPMT
UUUBBBUUUUUUUUUU
BUSPFTMMMMMMMMMM
BBBBBBBBBBUUUUUUSSS
BBBBBBBBBUUUUUUSSS
BUUUUUUUUUUB
BUUUUUUUUUB
BUUUUUUUUUSP
BUUUUUUUUU
PPPPSSSSSSUUUUUBBBBBB
PPPPSSSSSSUUUUFUBBBBBB
BBBUSSSPFFFM
Code: Select all
1
2
error
error
1100000
error
1111101
error
error
error
error
error
369
error
error
1191
91
4656
error
1031313
Re: 11787 - Numeral Hieroglyphs
Posted: Mon Aug 08, 2011 11:04 am
by plamplam
Some more inputs:
Code: Select all
40
BBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBUUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBUUUUUUUUUSSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFFTTTTTTTTTMMMMMMMMM
BBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTMMMMMMMMMM
BBBBBBBBBUUUUUUUUUSSSSSSSSSPPPPPPPPPFFFFFFFFFTTTTTTTTTTMMMMMMMMM
MMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTFFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSSUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUUBBBBBBBBB
MMMMMMMMMTTTTTTTTTFFFFFFFFFPPPPPPPPPSSSSSSSSSUUUUUUUUUBBBBBBBBBB
BUSTFPM
BBBBBBUPMTB
PPFMTMTM
MTMTMTMTM
MTMT
MFBUS
MMMMMMMMMTFPPPPPPPPP
MMMMMMMMMTFPPPPPPPPPP
MMMMMMMMMMTFPPPPPPPPP
MMMMMMMMMMTFTPPPPPPPPP
BBBBBUUUUUUUUUUU
BUBBB
PPBFM
BUSPFMT
MUSPFTM
BUSPFTMB
BUUSSSPPPPFFFFFTTTTTTMMMMMMMMM
BUUSSSPPPPFFFFFTTTTTTMMMMMMMMMM
BUSPFTMP
BUSPFTMS
BUSPFTMF
BUSPFTMT
BUSPFTMM
BUSPFTMTM
Code: Select all
9999999
error
error
error
error
error
error
error
9999999
error
error
error
error
error
error
error
error
error
error
error
error
error
9119000
error
error
error
error
error
error
error
error
error
9654321
error
error
error
error
error
2111111
error
Re: 11787 - Numeral Hieroglyphs
Posted: Sat Sep 10, 2016 5:55 pm
by zerin xahan
Code: Select all
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int sum,i,j,k,l,flag,t,p,flag1,count;
scanf("%lld",&t);
for(j=0;j<t;j++)
{
char a[1000],b[1000];
scanf("%s",a);
flag=1;
sum=0;
flag1=1;
count=0;
int flag2=1;
l=strlen(a);
for(i=0;i<l;i++)
{
if(a[i]=='B'&&(a[i+1]=='U'||a[i+1]=='S'||a[i+1]=='P'||a[i+1]=='F'||a[i+1]=='T'||a[i+1]=='M'))
{
flag=0;
break;
}
else if(a[i]=='U'&&(a[i+1]=='S'||a[i+1]=='P'||a[i+1]=='F'||a[i+1]=='T'||a[i+1]=='M'))
{
flag=0;
break;
}
else if(a[i]=='S'&&(a[i+1]=='P'||a[i+1]=='F'||a[i+1]=='T'||a[i+1]=='M'))
{
flag=0;
break;
}
else if(a[i]=='P'&&(a[i+1]=='F'||a[i+1]=='T'||a[i+1]=='M'))
{
flag=0;
break;
}
else if(a[i]=='F'&&(a[i+1]=='T'||a[i+1]=='M'))
{
flag=0;
break;
}
else if(a[i]=='T'&&a[i+1]=='M')
{
flag=0;
break;
}
}
for(k=0,p=l-1;k<l;k++,p--)
{
b[k]=a[p];
}
for(i=0;i<l;i++)
{
if(b[i]=='B'&&(b[i+1]=='U'||b[i+1]=='S'||b[i+1]=='P'||b[i+1]=='F'||b[i+1]=='T'||b[i+1]=='M'))
{
flag1=0;
break;
}
else if(b[i]=='U'&&(b[i+1]=='S'||b[i+1]=='P'||b[i+1]=='F'||b[i+1]=='T'||b[i+1]=='M'))
{
flag1=0;
break;
}
else if(b[i]=='S'&&(b[i+1]=='P'||b[i+1]=='F'||b[i+1]=='T'||b[i+1]=='M'))
{
flag1=0;
break;
}
else if(b[i]=='P'&&(b[i+1]=='F'||b[i+1]=='T'||b[i+1]=='M'))
{
flag1=0;
break;
}
else if(b[i]=='F'&&(b[i+1]=='T'||b[i+1]=='M'))
{
flag1=0;
break;
}
else if(b[i]=='T'&&b[i+1]=='M')
{
flag1=0;
break;
}
}
if(flag==0&&flag1==0)printf("error\n");
else
{
for(i=0;i<l;i++)
{
if(a[i]!=a[i-1])count=0;
if(a[i]=='M')
sum=sum+1000000;
else if(a[i]=='T')
sum=sum+100000;
else if(a[i]=='F')
sum=sum+10000;
else if(a[i]=='P')
sum=sum+1000;
else if(a[i]=='S')
sum=sum+100;
else if(a[i]=='U')
sum=sum+10;
else if(a[i]=='B')
sum=sum+1;
count++;
if(count>9)
{
flag2=0;
break;
}
}
if(flag2==0)printf("error\n");
else printf("%lld\n",sum);
}
memset(b,0,sizeof(b));
}
return 0;
}
getting WA.why?
Re: 11787 - Numeral Hieroglyphs
Posted: Sat Sep 10, 2016 6:55 pm
by shahidul_brur
@Zerin Xahan,
Add b[l] = '\0' after this loop:
Code: Select all
for(k=0,p=l-1;k<l;k++,p--)
{
b[k]=a[p];
}
And replace
to
You will get AC !
