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

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

回文数【传送门】

洛谷算法标签:

其实还有高精度


这个题困死在了十六进制,后来想了想,我们在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. linux下如何删除行首的数字?

    举例如下: 1.某文件jello.txt中有以下行 1111-yes 2222-no 3333-yes-no-no 2.删除jello.txt中每行行首的数字 cat jello.txt | cut ...

  2. 【做题】51NOD1753 相似子串——哈希

    题意:两个字符串相似定义为: 1.两个字符串长度相等 2.两个字符串对应位置上至多有一个位置所对应的字符不相同 给定一个字符串\(s\),\(T\)次询问两个子串在给定的规则下是否相似.给定的规则指每 ...

  3. Cisco 2960交换机配置

    一. 基本操作 Switch(config)#hostname test01(交换机名称) //全局模式下修改交换机名称 Switch(config)#enable secret 123456 //全 ...

  4. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  5. (转)能根据文字生成图片的 GAN,深度学习领域的又一新星

    本文转自:https://mp.weixin.qq.com/s?__biz=MzIwMTgwNjgyOQ==&mid=2247484846&idx=1&sn=c2333a998 ...

  6. Symbol在对象中的作用

    Symbol的打印 我们先声明一个Symbol,然后我们在控制台输出一下. var g = Symbol('jspang'); console.log(g); console.log(g.toStri ...

  7. Shiro学习笔记五(Shiro标签,及通配符)

    1.首先是导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> ...

  8. ETCD应用

    etcd:从应用场景到实现原理的全方位解读 ETCD:A highly-available key value store for shared configuration and service d ...

  9. Lintcode27-Reverse 3-digit Integer

    Reverse a 3-digit integer. Example Example 1: Input: number = 123 Output: 321 Example 2: Input: numb ...

  10. Java单例设计模式(实现Java的一个类只有一个对象)

    单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象.  如何实现类在内存中只有一个对象呢? 第一步:构造私有:第二步:本身提供一 ...