(过了这个题灰常灰常开心)

好像前两道忘记了传送门:

回文数【传送门】

洛谷算法标签:

其实还有高精度


这个题困死在了十六进制,后来想了想,我们在c[i]中存入一个大于十的数之前的程序也可以实现回文(11=11嘛),所以加了个n=16时的特判:

利用强制类型转化把ABCDEF转化成10,11,12,13,14,15接着进行程序。

int tp()
{
for(int i=;i<=len-;i++)
{
if(m[i]>=){int e=m[i]-;a[len-i]=e;}
else a[len-i]=m[i]-;
}
for(int i=;i<=len-;i++)
{
if(m[i]>=){int e=m[i]-;a[len-i]=e;}
else b[i+]=m[i]-;
}
if(hw1(len))
cout<<<<endl;
else sum(len);
}

好的附ac代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
char m[];
bool hw1(int);
int n,len;
int a[],b[],c[];
int g=;
bool hw(int f)
{
int i=,j=f;
bool flag=;
while(i<=j)
{
if(c[i]!=c[j]){flag=;break;}
else{i++;j--;}
}
return flag;
}
int sum(int len)
{
int j=;
int x=;
while(len>=j)
{
c[j]=a[j]+b[j]+x;
x=c[j]/n;
c[j]%=n;
j++;
}
c[j]=x;
while(c[j]==&&j>)j--;
for(int i=;i<=j;i++)
{
a[i]=c[i];
b[i]=c[j-i+];
}
g++;
if(g>=)cout<<"Impossible"<<endl;
else
{
if(hw(j))cout<<g<<endl;
if(!hw(j))sum(j);
}
}
int tp()
{
for(int i=;i<=len-;i++)
{
if(m[i]>=){int e=m[i]-;a[len-i]=e;}
else a[len-i]=m[i]-;
}
for(int i=;i<=len-;i++)
{
if(m[i]>=){int e=m[i]-;a[len-i]=e;}
else b[i+]=m[i]-;
}
if(hw1(len))
cout<<<<endl;
else sum(len);
}
int main()
{
cin>>n;
scanf("%s",m);
len=strlen(m);
if(n==)tp();
else{
for(int i=;i<=len-;i++)a[len-i]=m[i]-;
for(int i=;i<=len-;i++)b[i+]=m[i]-;
if(hw1(len))
cout<<<<endl;
else sum(len);
} }
bool hw1(int f)
{
int i=,j=f;
bool flag=;
while(i<=j)
{
if(a[i]!=a[j])
{
flag=;
break;
}
else{i++;j--;}
}
return flag;
}

码风清奇

end-

【洛谷p1015】【一本通p1309】回文数(noip1999)的更多相关文章

  1. [洛谷P2425]小红帽的回文数

    原题传送门 这道题需要枚举.如果直接枚举会$TLE$. 考虑进制的转换:对于$> x$的进制下,一定是回文数 回文长度$2$位:设每一位为$i$,进制为$x$,则该数为$i*x+i$.反之,如果 ...

  2. 【洛谷P1207】双重回文数 【USACO1.2】

    P1207 [USACO1.2]双重回文数 Dual Palindromes 题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一 ...

  3. 洛谷P1206 [USACO1.2]回文平方数 Palindromic Squares

    P1206 [USACO1.2]回文平方数 Palindromic Squares 271通过 501提交 题目提供者该用户不存在 标签USACO 难度普及- 提交  讨论  题解 最新讨论 暂时没有 ...

  4. 洛谷 P1206 [USACO1.2]回文平方数 Palindromic Squares

    P1206 [USACO1.2]回文平方数 Palindromic Squares 题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2< ...

  5. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes【取回文数/数论/字符串】

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

  6. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindrome

    嗯... 这道题对于蒟蒻的我来说实在是TQL... 先看一下题:(题目链接:https://www.luogu.org/problemnew/show/P1217) 然后说一下我的做题过程吧: 一看到 ...

  7. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  8. luogu10125回文数[noip1999 Day1 T1]

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  9. 1309:【例1.6】回文数(Noip1999)

    传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1309 [题目描述] 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文 ...

  10. 洛谷P4324 扭动的回文串 [JSOI2016] manacher+哈希

    正解:manacher+哈希 解题报告: 传送门 要不要先解释下题意,,,我开始看了半天来着QAQ 大概就,要求一个最长的回文串 这个回文串有两种构成可能 一种是单从一个串中拿出来的连续一段 另一种是 ...

随机推荐

  1. C语言变量的作用域和存储类型

    1.动态局部变量:也称局部变量.自动变量,是指在函数内部定义的自动变量,不带static修饰,作用域是定义该变量的子程序.在退出函数后,变量自带内存会自动释放. 2.静态局部变量:是指在函数内部定义的 ...

  2. Java 多线程案例

    同步代码块 SynchronizedTest类,用来表示取票功能 package concurency.chapter6; public class SynchronizedTest implemen ...

  3. 分布式强化学习基础概念(Distributional RL )

    分布式强化学习基础概念(Distributional RL) from: https://mtomassoli.github.io/2017/12/08/distributional_rl/ 1. Q ...

  4. insert into table (a,b,c) select

    本文为博主原创,转载请注明出处: 在项目中,需要统计数据,从基础表中的数据进行统计,并插入到汇总 表中, (1)语句形式为:Insert into Table2(field1,field2,...) ...

  5. HDU 4821 String(BKDRHash)

    http://acm.hdu.edu.cn/showproblem.php?pid=4821 题意:给出一个字符串,现在问你可以找出多少个长度为M*L的子串,该子串被分成L个段,并且每个段的字符串都是 ...

  6. el-cascader 级联选择器使用时遇到的一些问题

    Element UI Cascader官网文档 <el-form-item label="章节" style="margin-right: 64px"&g ...

  7. Mongodb 创建管理员帐号与普通帐号

    数据库操作权限 readAnyDatabase 任何数据库的只读权限 userAdminAnyDatabase 任何数据库的读写权限 userAdminAnyDatabase 任何数据库用户的管理权限 ...

  8. 配置多个版本的jdk

    引言: 由于公司有多个项目都需要我开发,而各个项目所依赖的jdk版本又不同,因此需要配置多个jdk; 配置方法: 什么也不说了,直接上图: 然后在其他需要制定Tomcat的地方直接引用JAVA_HOM ...

  9. wxss与rpx

    WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式. WXSS 用来决定 WXML 的组件应该怎么显示. 为了适应广大的前端开发者,WXSS 具有 CSS ...

  10. .NET扩展方法 封装公用方法

    定义方法的时候  第一个参数前面加上this   表示这个方法可以被IQueryable类型的对象.出来  调用的时候 只用传第二个参数  第一个参数不用传 第一个参数就是.出当前方法的参数 定义扩展 ...