401 - Palindromes
Moderator: Board moderators
-
- New poster
- Posts: 10
- Joined: Mon Nov 04, 2013 10:14 am
Re: 401-Palindromes Why getting WA
Thanks! AC!
Re: 401-Palindromes Why getting WA
Code: Select all
ac >_<
Last edited by mgavin2 on Thu Jul 31, 2014 2:16 am, edited 1 time in total.
all that matters is AC
Re: 401-Palindromes Why getting WA
Code: Select all
rev['F'] = ' ';
rev['H'] = ' ';
rev['I'] = 'I';
Code: Select all
rev['H'] = ' H';
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman
Re: 401-Palindromes Why getting WA
thank you so much >_<lighted wrote:Where is letter 'G'? Wrong value for 'H'. It must beCode: Select all
rev['F'] = ' '; rev['H'] = ' '; rev['I'] = 'I';
Code: Select all
rev['H'] = ' H';
all that matters is AC
-
- New poster
- Posts: 6
- Joined: Sat Jun 07, 2014 10:22 pm
Re: 401- Palindromes
I have passed all test case from forum.But I get always WA.
Could you please help me to find out my mistake?
Already got 3 WA![:(](./images/smilies/icon_frown.gif)
Here is my code:
Could you please help me to find out my mistake?
Already got 3 WA
![:(](./images/smilies/icon_frown.gif)
Here is my code:
Code: Select all
/*UVa 401-Palindromes
Time-*/
#include<stdio.h>
#include<string.h>
const char* GetReverse(char inp[25])
{
char str[25];
int i,len=strlen(inp);
for(i=0;i<len;i++)
{
str[i] = inp[len-i-1];
}
str[i] = '\0';
return str;
}
int main()
{
char ch,str[25],mr[25],list[91];
list['A'] = 'A';list['E'] = '3';list['H'] = 'H';list['I'] = 'I';list['J'] = 'L';list['L'] = 'J';
list['M'] = 'M';list['O'] = 'O';list['S'] = '2';list['T'] = 'T';list['U'] = 'U';list['V'] = 'V';list['W'] = 'W';list['X'] = 'X';
list['Y'] = 'Y';list['Z'] = '5';list['1'] = '1';list['2'] = 'S';list['3'] = 'E';list['5'] = 'Z';list['8'] = '8';
int i,p,m;
while(scanf("%s",&str)==1)
{
p = 0;
m = 0;
if(strcmp(str,GetReverse(str))==0)
p = 1;
for(i=0;i<strlen(str);i++)
{
ch = list[str[i]];
if((ch >='A' && ch <='Z')||(ch >='1' && ch <='9'))
{
mr[i] = ch;
m = 1;
}
else
{
m = 0;
break;
}
}
mr[i] = '\0';
if(m)
{
if(strcmp(str,GetReverse(mr))!=0)
m = 0;
}
printf("%s -- ",str);
if(p==0 && m==0)
printf("is not a palindrome.");
else if(p && m==0)
printf("is a regular palindrome.");
else if(p==0 && m)
printf("is a mirrored string.");
else if(p && m)
printf("is a mirrored palindrome.");
printf("\n\n");
}
return 0;
}
-
- Guru
- Posts: 5947
- Joined: Thu Sep 01, 2011 9:09 am
- Location: San Jose, CA, USA
Re: 401- Palindromes
When I compile it I get a warning that in function GetReverse address of local variable str returned.
Try changing it to:
void GetReverse(char str[25], char inp[25])
Try changing it to:
void GetReverse(char str[25], char inp[25])
Check input and AC output for thousands of problems on uDebug!
-
- New poster
- Posts: 6
- Joined: Sat Jun 07, 2014 10:22 pm
Re: 401- Palindromes
Thanks brianfry713.got AC ![:)](./images/smilies/icon_smile.gif)
![:)](./images/smilies/icon_smile.gif)
Re: 401- Palindromes
here's some examples of input's and his outputs.
I think these are the hardest ones
Input:
Output:
I think these are the hardest ones
Input:
Code: Select all
2BBS
B2SB
BBB
BBBB
AAA
AAAA
HII
O
X
B
xX
b
0
AE
ISSEJML11JML322I
SV2OSV2
8SZSJYYL2528
NOTAPALINDROME
ISAPALINILAPASI
2A3MEAS
ATOYOTA
3QE
Z55
Code: Select all
2BBS -- is not a palindrome.
B2SB -- is not a palindrome.
BBB -- is a regular palindrome.
BBBB -- is a regular palindrome.
AAA -- is a mirrored palindrome.
AAAA -- is a mirrored palindrome.
HII -- is not a palindrome.
O -- is a mirrored palindrome.
X -- is a mirrored palindrome.
B -- is a regular palindrome.
xX -- is not a palindrome.
b -- is a regular palindrome.
0 -- is a regular palindrome.
AE -- is not a palindrome.
ISSEJML11JML322I -- is a mirrored string.
SV2OSV2 -- is a mirrored string.
8SZSJYYL2528 -- is a mirrored string.
NOTAPALINDROME -- is not a palindrome.
ISAPALINILAPASI -- is a regular palindrome.
2A3MEAS -- is a mirrored string.
ATOYOTA -- is a mirrored palindrome.
3QE -- is a mirrored string.
Z55 -- is a mirrored string.
Re: 401 - Palindromes
Hey guys! I dun get why I get WA
Hopefully someone is able to help me![:)](./images/smilies/icon_smile.gif)
Hopefully someone is able to help me
![:)](./images/smilies/icon_smile.gif)
Code: Select all
Removed after AC
Last edited by icansolve on Sun Dec 28, 2014 7:34 am, edited 1 time in total.
Re: 401 - Palindromes
Problem description says
In addition, after each output line, you must print an empty line.
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman
Re: 401 - Palindromes
Oh yes AC!! Thanks a lot man (:
-
- New poster
- Posts: 1
- Joined: Tue Feb 10, 2015 8:55 am
Re: 401- Palindromes
3QEc8555 wrote:here's some examples of input's and his outputs.
I think these are the hardest ones
Input:Output:Code: Select all
2BBS B2SB BBB BBBB AAA AAAA HII O X B xX b 0 AE ISSEJML11JML322I SV2OSV2 8SZSJYYL2528 NOTAPALINDROME ISAPALINILAPASI 2A3MEAS ATOYOTA 3QE Z55
Code: Select all
2BBS -- is not a palindrome. B2SB -- is not a palindrome. BBB -- is a regular palindrome. BBBB -- is a regular palindrome. AAA -- is a mirrored palindrome. AAAA -- is a mirrored palindrome. HII -- is not a palindrome. O -- is a mirrored palindrome. X -- is a mirrored palindrome. B -- is a regular palindrome. xX -- is not a palindrome. b -- is a regular palindrome. 0 -- is a regular palindrome. AE -- is not a palindrome. ISSEJML11JML322I -- is a mirrored string. SV2OSV2 -- is a mirrored string. 8SZSJYYL2528 -- is a mirrored string. NOTAPALINDROME -- is not a palindrome. ISAPALINILAPASI -- is a regular palindrome. 2A3MEAS -- is a mirrored string. ATOYOTA -- is a mirrored palindrome. 3QE -- is a mirrored string. Z55 -- is a mirrored string.
Z55
These two input's output is wrong in your sample
It should be -
Code: Select all
3QE -- is not a palindrome.
Z55 -- is not a palindrome.
401 - Palindromes
I got WA. Please help. Following is my code:
Code: Select all
#include<stdio.h>
#include<string.h>
#define SIZE 100
int palin(char a[SIZE],int length);
int mirror(char a[SIZE],int length);
int check(char a[SIZE],int length,int index);
int main()
{
//freopen("input.txt","r",stdin);
char a[SIZE];
char b[SIZE];
while( (gets(b)) )
{
int j=0;
for(int i=0;i<strlen(b);i++)
{
if(b[i]!=' ')
a[j++]=b[i];
}
a[j]='\0';
int length,count,count1;
length=strlen(a)-1;
count=palin(a,length);
count1=mirror(a,length);
if(count==1 && count1==1)printf("%s -- is a mirrored palindrome.\n\n",b);
else if(count==1)printf("%s -- is a regular palindrome.\n\n",b);
else if(count==0 && count1!=1)printf("%s -- is a not palindrome.\n\n",b);
else if(count!=1 && count1==1)printf("%s -- is a mirrored string.\n\n",b);
}
return 0;
}
int palin(char a[SIZE],int length)
{
int len=length,index=0;
while(index!=length)
{
if((len%2!=0) && (length-index==1) && (a[index]==a[length]))return(1);
if(a[index]==a[length]){index++;length--;}
else return(0);
}
if(index==length)
return(1);
else
return(0);
}
int mirror(char a[SIZE],int length)
{
char ch;
int len=length,index=0,flag;
while(index!=length)
{
if(len%2!=0 && length-index==1)
{
flag=check(a,length,index);
if(flag==1)return(1);
else return(0);
}
flag=check(a,length,index);
if(flag==1){index++;length--;}
else return(0);
}
if(index==length)
{
int stringLength = strlen(a);
if(stringLength==1)
{
flag = check(a,length,index);
return flag;
}
else return 1 ;
}
else
return(0);
}
int check(char a[SIZE],int length,int index)
{
if(a[index]=='A' && a[length]=='A')return(1);
else if(a[index]=='E' && a[length]=='E')return(1);
else if(a[index]=='H' && a[length]=='H')return(1);
else if(a[index]=='I' && a[length]=='I')return(1);
else if(a[index]=='J' && a[length]=='L')return(1);
else if(a[index]=='L' && a[length]=='J')return(1);
else if(a[index]=='M' && a[length]=='M')return(1);
else if(a[index]=='O' && a[length]=='O')return(1);
else if(a[index]=='S' && a[length]=='2')return(1);
else if(a[index]=='T' && a[length]=='T')return(1);
else if(a[index]=='U' && a[length]=='U')return(1);
else if(a[index]=='V' && a[length]=='V')return(1);
else if(a[index]=='W' && a[length]=='W')return(1);
else if(a[index]=='X' && a[length]=='X')return(1);
else if(a[index]=='Y' && a[length]=='Y')return(1);
else if(a[index]=='Z' && a[length]=='5')return(1);
else if(a[index]=='1' && a[length]=='1')return(1);
else if(a[index]=='2' && a[length]=='S')return(1);
else if(a[index]=='3' && a[length]=='E')return(1);
else if(a[index]=='E' && a[length]=='3')return(1);
else if(a[index]=='5' && a[length]=='Z')return(1);
else if(a[index]=='8' && a[length]=='8')return(1);
else return(0);
}
Last edited by brianfry713 on Tue Feb 10, 2015 9:56 pm, edited 1 time in total.
Reason: Added code blocks
Reason: Added code blocks
401 - Palindromes
I got WA. Please help.
Following is my code:
Following is my code:
Code: Select all
#include<stdio.h>
#include<string.h>
#define SIZE 100
int palin(char a[SIZE],int length);
int mirror(char a[SIZE],int length);
int check(char a[SIZE],int length,int index);
int main()
{
//freopen("input.txt","r",stdin);
char a[SIZE];
char b[SIZE];
while( (gets(b)) )
{
int j=0;
for(int i=0;i<strlen(b);i++)
{
if(b[i]!=' ')
a[j++]=b[i];
}
a[j]='\0';
int length,count,count1;
length=strlen(a)-1;
count=palin(a,length);
count1=mirror(a,length);
if(count==1 && count1==1)printf("%s -- is a mirrored palindrome.\n\n",b);
else if(count==1)printf("%s -- is a regular palindrome.\n\n",b);
else if(count==0 && count1!=1)printf("%s -- is a not palindrome.\n\n",b);
else if(count!=1 && count1==1)printf("%s -- is a mirrored string.\n\n",b);
}
return 0;
}
int palin(char a[SIZE],int length)
{
int len=length,index=0;
while(index!=length)
{
if((len%2!=0) && (length-index==1) && (a[index]==a[length]))return(1);
if(a[index]==a[length]){index++;length--;}
else return(0);
}
if(index==length)
return(1);
else
return(0);
}
int mirror(char a[SIZE],int length)
{
char ch;
int len=length,index=0,flag;
while(index!=length)
{
if(len%2!=0 && length-index==1)
{
flag=check(a,length,index);
if(flag==1)return(1);
else return(0);
}
flag=check(a,length,index);
if(flag==1){index++;length--;}
else return(0);
}
if(index==length)
{
int stringLength = strlen(a);
if(stringLength==1)
{
flag = check(a,length,index);
return flag;
}
else return 1 ;
}
else
return(0);
}
int check(char a[SIZE],int length,int index)
{
if(a[index]=='A' && a[length]=='A')return(1);
else if(a[index]=='E' && a[length]=='E')return(1);
else if(a[index]=='H' && a[length]=='H')return(1);
else if(a[index]=='I' && a[length]=='I')return(1);
else if(a[index]=='J' && a[length]=='L')return(1);
else if(a[index]=='L' && a[length]=='J')return(1);
else if(a[index]=='M' && a[length]=='M')return(1);
else if(a[index]=='O' && a[length]=='O')return(1);
else if(a[index]=='S' && a[length]=='2')return(1);
else if(a[index]=='T' && a[length]=='T')return(1);
else if(a[index]=='U' && a[length]=='U')return(1);
else if(a[index]=='V' && a[length]=='V')return(1);
else if(a[index]=='W' && a[length]=='W')return(1);
else if(a[index]=='X' && a[length]=='X')return(1);
else if(a[index]=='Y' && a[length]=='Y')return(1);
else if(a[index]=='Z' && a[length]=='5')return(1);
else if(a[index]=='1' && a[length]=='1')return(1);
else if(a[index]=='2' && a[length]=='S')return(1);
else if(a[index]=='3' && a[length]=='E')return(1);
else if(a[index]=='E' && a[length]=='3')return(1);
else if(a[index]=='5' && a[length]=='Z')return(1);
else if(a[index]=='8' && a[length]=='8')return(1);
else return(0);
}
Last edited by brianfry713 on Tue Feb 10, 2015 9:55 pm, edited 1 time in total.
Reason: Added code blocks
Reason: Added code blocks
-
- Guru
- Posts: 5947
- Joined: Thu Sep 01, 2011 9:09 am
- Location: San Jose, CA, USA
Re: 401 - Palindromes
Next time post in the existing thread, don't double post.
A3A -- is a regular palindrome.
A3A -- is a regular palindrome.
Check input and AC output for thousands of problems on uDebug!