UVA_401:Palindromes



AC:Time(29ms) C++ 4.8.2
#include<stdio.h>
#include<string.h>
char * mirstr = "AAE3EHHIIJLJMM0OS2STTUUVVWWXXYYZ5Z88";
int dispose(char *);
int main(void)
{
char str[];
int state;
while(scanf("%s", str) == )
{
state = dispose(str);
switch(state)
{
case : printf("%s -- is not a palindrome.\n\n", str); break;
case : printf("%s -- is a regular palindrome.\n\n", str); break;
case : printf("%s -- is a mirrored string.\n\n", str); break;
case : printf("%s -- is a mirrored palindrome.\n\n", str); break;
}
} return ;
} int dispose(char * str)
{
int i;
bool palin = true;
bool mirr = true;
int len = strlen(str);
int half_len = len / ;
// 判断回文
for(i = ; i < half_len; i++)
if(str[i] != str[len--i])
palin = false; char * p;
// 判断镜像
for(i = ; i < len; i++)
{
p = strchr(mirstr, str[i]);
if(!p)
{
mirr = false;
break;
} if(p[] == 'O' || p[] == '') // 字母O和数字0单独处理
{ // 一开始这个花括号忘记了,导致最后一个测试数据失败,情况四变成了情况二,通过调试检查出了错误。
if(str[len--i] != 'O' && str[len--i] != '')
{
mirr = false;
break;
}
}
else if(p[] != str[len--i])
{
mirr = false;
break;
}
} if(palin == false && mirr == false)
return ;
else if(palin == true && mirr == false)
return ;
else if(palin == false && mirr == true)
return ;
else
return ; }
UVA_401:Palindromes的更多相关文章
- UVA - 11584 Partitioning by Palindromes[序列DP]
UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...
- hdu 1318 Palindromes
Palindromes Time Limit:3000MS Memory Limit:0KB 64bit ...
- dp --- Codeforces 245H :Queries for Number of Palindromes
Queries for Number of Palindromes Problem's Link: http://codeforces.com/problemset/problem/245/H M ...
- Dual Palindromes
Dual PalindromesMario Cruz (Colombia) & Hugo Rickeboer (Argentina) A number that reads the same ...
- ytu 1940:Palindromes _easy version(水题)
Palindromes _easy version Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 47 Solved: 27[Submit][Statu ...
- 回文串+回溯法 URAL 1635 Mnemonics and Palindromes
题目传送门 /* 题意:给出一个长为n的仅由小写英文字母组成的字符串,求它的回文串划分的元素的最小个数,并按顺序输出此划分方案 回文串+回溯:dp[i] 表示前i+1个字符(从0开始)最少需要划分的数 ...
- UVA 11584 一 Partitioning by Palindromes
Partitioning by Palindromes Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %l ...
- 洛谷P1207 [USACO1.2]双重回文数 Dual Palindromes
P1207 [USACO1.2]双重回文数 Dual Palindromes 291通过 462提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有讨论 ...
- hdu 1318 Palindromes(回文词)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1318 题意分析:输入每行包含一个字符串,判断此串是否为回文串或镜像串. 表面上看这道题有些复杂,如果能 ...
随机推荐
- Effective Modern C++ 条款2:理解auto型别推导
在条款1中,我们已经了解了有关模板型别的推导的一切必要知识,那么也就意味着基本上了解了auto型别推导的一切必要知识. 因为,除了一个奇妙的例外情况,auto型别推导就是模板型别推导.尽管和模板型别推 ...
- Java数据结构和算法(八)--红黑树与2-3树
红黑树规则: 1.每个节点要么是红色,要么是黑色 2.根节点都是黑色节点 3.每个叶节点是黑色节点 3.每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点 4.从 ...
- RDS for PostgreSQL 云盘加密功能使用方法
RDS for PostgreSQL支持数据盘的加密功能,提供更高的数据存储安全等级.(加密KEY可以由用户提供,也可以由KMS服务生成.) 使用方法: 1.选中需要购买数据库实例的region,创建 ...
- 字符界面总是显示 login incorrect
一般来说出现这样的提示,是因为登陆的密码错误,如果密码中有数字,最好用主键盘输入,用数字键盘会有错误.
- TZ_05_Spring_Proxy基于接口的动态代理和基于类的动态代理
代理:为了增强方法在不添加代码的情况下 1.Proxy基于接口的动态代理 /** * 模拟一个消费者 * @author Administrator * */ public class Client ...
- Hackerrank--Prime Sum
题目链接 The problem is quite simple. You're given a number N and a positive integer K. Tell if N can be ...
- SpringBoot随机数
# 随机字符串 com.didispace.blog.value=${random.value} # 随机int com.didispace.blog.number=${random.int} # 随 ...
- 2019.10.22 csp-s模拟测试82 反思总结
重来重来,刚刚就当什么都没发生 今天的题属实有些迷惑,各种意义上…总之都很有难度吧.不满归不满,这套题的确不是什么没有意义的题目. 为了考验自己的学习能力记忆力,决定不写题解,扔个代码完事了 其实是懒 ...
- 【洛谷P1632】点的移动
P1632 点的移动 题目描述 平面上有N个整数坐标点.如果将点(x0,y0)移动到(x1,y1),则需要的代价为|x0-x1|+|y0-y1|.求使得K(K=1,-,N)个点在同一位置上最少需要的代 ...
- bzoj 1045 [HAOI2008] 糖果传递——设变量推式子
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1045 费用流TLE. #include<iostream> #include&l ...