Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3185 Accepted Submission(s): 1867
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
Source
2008 “Sunline Cup” National Invitational Contest - Warm Up
#include <stdio.h> #include <string.h> int main() { char a[10055]; int wbx=0,j; for(j=0;j<100;j++) { gets(a); int l=strlen(a); int i; int sum=0; if(strcmp(a,"STOP")==0) //题目很贼,如果是STOP直接结束了。 break; for(i=0;i<l/2;i++) // { if(a[i]!=a[l-1-i]) // 判断是不是回文的。如果第i个不等于第l-1-i个,直接跳出。 break; } if(i==l/2) // 如果此时i==l/2,则为回文。 printf("#%d: YES\n",++wbx); else // 反之不是。 printf("#%d: NO\n",++wbx); } return 0; }
原文地址:http://blog.csdn.net/sky_miange/article/details/42126269