- import java.util.*;
- class main{
- public static void main(String[] arg){
- Scanner sc = new Scanner(System.in);
- while(sc.hasNext())
- print(sc.next());
- }
- static void print(String str){
- StringBuilder ssb = new StringBuilder(str);
- String SSB = ssb.reverse().toString();
- if(SSB.equals(str)){
- if(Palined(str.toCharArray())) System.out.println(str+" -- is a mirrored palindrome.\r\n");
- else System.out.println(str+" -- is a regular palindrome.\r\n");
- }else{
- if(Palined(str.toCharArray())) System.out.println(str+" -- is a mirrored string.\r\n");
- else System.out.println(str+" -- is not a palindrome.\r\n");
- }
- }
- static boolean Palined(char[] c){
- boolean on = true ;
- int i = 0 , j = c.length-1;
- while(i < c.length && j >= 0){
- if(c[i] != merr(c[j])) return false ;
- i++;j--;
- }
- return true ;
- }
- static char merr(char c){
- switch(c){
- case 'E' :
- return '3';
- case '3' :
- return 'E';
- case '5' :
- return 'Z';
- case 'Z' :
- return '5';
- case '2' :
- return 'S';
- case 'S' :
- return '2';
- case 'J' :
- return 'L';
- case 'L' :
- return 'J';
- case 'A':
- case 'H':
- case 'I':
- case 'M':
- case 'O':
- case 'Y':
- case 'T':
- case 'U':
- case 'X':
- case 'W':
- case 'V':
- case '8':
- case '1':
- return c ;
- default :
- return ' ' ;
- }
- }
2017年8月13日 星期日
UVA401:Palindromes
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。