(reverse)Palindromes hdu2163

Palindromes

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 5000    Accepted Submission(s): 2700

Problem Description

Write a program to determine whether a word is a palindrome. A palindrome is a sequence of characters that is identical to the string when the characters are placed in reverse order. For example, the following strings are palindromes: “ABCCBA”, “A”, and “AMA”. The following strings are not palindromes: “HELLO”, “ABAB” and “PPA”.

Input

The input file will consist of up to 100 lines, where each line contains at least 1 and at most 52 characters. Your program should stop processing the input when the input string equals “STOP”. You may assume that input file consists of exclusively uppercase letters; no lowercase letters, punctuation marks, digits, or whitespace will be included within each word.

Output

A single line of output should be generated for each string. The line should include “#”, followed by the problem number, followed by a colon and a space, followed by the string “YES” or “NO”.

Sample Input

ABCCBA

A

HELLO

ABAB

AMA

ABAB

PPA

STOP

Sample Output

#1: YES

#2: YES

#3: NO

#4: NO

#5: YES

#6: NO

#7: NO

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    int T=0;
    string a;
    while(cin>>a)
    {
        if(a=="STOP")
            break;
        T++;
        string b;
        b=a;
        reverse(b.begin(),b.end());
        if(b==a)
            printf("#%d: YES\n",T);
        else
            printf("#%d: NO\n",T);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Weixu-Liu/p/9272617.html