hdu1318

很繁琐,花了将近两个小时。。。。。。。

15103723_kcva.gif 15103723_9JKi.gif View Code

    
#include " iostream "
using namespace std;
int main()
{
char a[ 100 ];
int i,j,L;
while (scanf( " %s " ,a) != EOF)
{
L
= strlen(a);

int num = 0 ,zf = 0 ,sign = 0 ;
for (i = 0 ;i < L;i ++ )
{
if (a[i] >= ' 0 ' && a[i] <= ' 9 ' ) { num = 1 ;}
if (a[i] >= ' A ' && a[i] <= ' Z ' ) { zf = 1 ; }
if (a[i] == ' O ' || a[i] == ' 0 ' ) { sign = 1 ;}
}

int count = 0 ,mark = 0 ;

if (L == 1 ) // 单独处理只有一个的情况
{
if (a[ 0 ] == ' 8 ' || a[ 0 ] == ' 0 ' || a[ 0 ] == ' 1 ' ) { mark ++ ;}
if (a[ 0 ] >= ' T ' && a[ 0 ] <= ' Y ' )
{
mark
++ ;
}
if (a[ 0 ] == ' H ' || a[ 0 ] == ' I ' || a[ 0 ] == ' M ' || a[ 0 ] == ' A ' || a[ 0 ] == ' O ' )
{
mark
++ ;
}
if (a[ 0 ] == ' 2 ' || a[ 0 ] == ' S ' || a[ 0 ] == ' 5 ' || a[ 0 ] == ' Z ' || a[ 0 ] == ' 3 ' || a[ 0 ] == ' E ' ) count ++ ;
printf(
" %s -- " ,a);
if (mark == 1 ) printf( " is a mirrored palindrome.\n " );
else if (mark == 0 && count == 1 ) printf( " is a mirrored string.\n " );
else printf( " is a regular palindrome.\n " );

}
else
{
if (num == 1 && zf == 1 )
{
for ( i = 0 , j = L - 1 ; j >= L / 2 + 1 , i < L / 2 ; j -- , i ++ )
{

if (a[i] >= ' A ' && a[i] <= ' Z ' ) // 处理字母的情况
{

if (a[i] >= ' T ' && a[i] <= ' Y ' )
{
if (a[i] == a[j]) { count ++ ; mark ++ ;}
}
else if (a[i] == ' H ' || a[i] == ' I ' || a[i] == ' M ' || a[i] == ' A ' )
{
if (a[i] == a[j]) { count ++ ; mark ++ ; }
}
else if ( (a[i] == ' J ' && (a[j] == ' L ' || a[j] == ' J ' )) || (a[i] == ' L ' && (a[j] == ' J ' ||
a[j] == ' L ' )) ) count ++ ;
else if ( (a[i] == ' E ' && (a[j] == ' 3 ' || a[j] == ' E ' )) || (a[i] == ' O ' && (a[j] == ' 0 '
  || a[j] == ' O ' )) || (a[i] == ' Z ' && (a[j] == ' 5 ' || a[j] == ' Z ' )) ||
(a[i] == ' S ' && (a[j] == ' 2 ' || a[j] == ' S ' ))) count ++ ;
}
else if (a[i] >= ' 0 ' && a[i] <= ' 9 ' ) // 处理数字的情况
{

if ((a[i] == ' 8 ' && a[j] == ' 8 ' ) || (a[i] == ' 0 ' && a[j] == ' 0 ' ) || (a[i] == ' 1 ' && a[j] == ' 1 ' ))
{ mark ++ ;}
if ((a[i] == ' 2 ' && (a[j] == ' S ' || a[j] == ' 2 ' )) || (a[i] == ' 5 ' && (a[j] == ' Z ' || a[j] == ' 5 ' ))
|| (a[i] == ' 3 ' && (a[j] == ' E ' || a[j] == ' 3 ' )) || (a[i] == ' 0 ' && (a[j] == ' 0 ' || a[j] == ' O ' ))) count ++ ;

else
{
if (a[i] == a[j]) count ++ ;
}
}
}
}
else
{
for ( i = 0 , j = L - 1 ; j >= L / 2 + 1 , i < L / 2 ; j -- , i ++ )
{
if (a[i] == a[j]) count ++ ;
if ((a[i] == ' 8 ' && a[j] == ' 8 ' ) || (a[i] == ' 0 ' && a[j] == ' 0 ' ) || (a[i] == ' 1 ' && a[j] == ' 1 ' ))
{ mark ++ ;}
if (a[i] >= ' T ' && a[i] <= ' Y ' )
{
if (a[i] == a[j]) { mark ++ ;}
}
if (a[i] == ' H ' || a[i] == ' I ' || a[i] == ' M ' || a[i] == ' A ' || a[i] == ' O ' )
{
if (a[i] == a[j]) { mark ++ ; }
}
}
}

printf(
" %s -- " ,a);
if (count == L / 2 )
{
if (mark == L / 2 ) printf( " is a mirrored palindrome.\n " );
else if (num == 1 && zf == 1 ) printf( " is a mirrored string.\n " );
else if (num == 0 || zf == 0 ) printf( " is a regular palindrome.\n " );
}
else printf( " is not a palindrome.\n " );
}
printf(
" \n " );
}
return 0 ;
}

转载于:https://my.oschina.net/garyun/blog/602831

内容概要:本文针对国内加密货币市场预测研究较少的现状,采用BP神经网络构建了CCi30指数预测模型。研究选取2018年3月1日至2019年3月26日共391天的数据作为样本,通过“试凑法”确定最优隐结点数目,建立三层BP神经网络模型对CCi30指数收盘价进行预测。论文详细介绍了数据预处理、模型构建、训练及评估过程,包括数据归一化、特征工程、模型架构设计(如输入层、隐藏层、输出层)、模型编译与训练、模型评估(如RMSE、MAE计算)以及结果可视化。研究表明,该模型在短期内能较准确地预测指数变化趋势。此外,文章还讨论了隐层节点数的优化方法及其对预测性能的影响,并提出了若干改进建议,如引入更多技术指标、优化模型架构、尝试其他时序模型等。 适合人群:对加密货币市场预测感兴趣的研究人员、投资者及具备一定编程基础的数据分析师。 使用场景及目标:①为加密货币市场投资者提供一种新的预测工具和方法;②帮助研究人员理解BP神经网络在时间序列预测中的应用;③为后续研究提供改进方向,如数据增强、模型优化、特征工程等。 其他说明:尽管该模型在短期内表现出良好的预测性能,但仍存在一定局限性,如样本量较小、未考虑外部因素影响等。因此,在实际应用中需谨慎对待模型预测结果,并结合其他分析工具共同决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值