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 题意分析:输入每行包含一个字符串,判断此串是否为回文串或镜像串. 表面上看这道题有些复杂,如果能 ...
随机推荐
- VS2005连接MySQL C API
1.在属性添加:附加目录,附加依赖库,附加库目录: 2.在stdafx.h中加入: #include <winsock.h> #include "mysql.h" 3. ...
- uva11401:Triangle Counting 递推 数学
uva11401:Triangle Counting 题目读不清楚的下场就是多做两个小时...从1-n中任选3个不重复数字(不重复啊!!坑爹啊!)问能组成三角形的有多少个, 显然1~n能组成的三角形集 ...
- 新的开始 | Arthas GitHub Star 破万后的回顾和展望
一切新的开始,都始于一个里程碑. 2月20日上午,Java 开源诊断工具 Arthas 的 GitHub Star 突破10000,距离开源后的第一个Release 版发布仅 147 天. 从中,我们 ...
- sql作业启停服务器
IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name='启用pubs数据库') EXEC msdb.dbo.sp_delete_job @job_na ...
- TZ_16_Vue_入门案例
1.新建一个html文件导入vue.js <script src="node_modules/vue/dist/vue.js"></script> 2.创建 ...
- 用CSS添加选中文字的背景色
- win10 下安装 neo4j
1.neo4j介绍 neo4j是基于Java语言编写图形数据库.图是一组节点和连接这些节点的关系.图形数据库也被称为图形数据库管理系统或GDBMS.详细介绍可看Neo4j 教程 2.安装Java jd ...
- django中静态资源
创建静态资源存放路径,为了设置静态媒体,你需要设立存储它们的目录.在你的项目目录(例如/myproject/),创建叫做static的目录.在static里再创建一个images目录和js目录 设置项 ...
- roc.m
function [tpr,fpr,thresholds] = roc(targets,outputs) %ROC Receiver operating characteristic. % % The ...
- GitHub的注册与使用
1. 注册账号: 地址: https://github.com/输入账号.邮箱.密码,然后点击注册按钮. 2. 初始设置 注册完成后,选择Free免费账号完成设置 3.验证账号 新建一个仓库 发现邮箱 ...