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

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

回文数【传送门】

洛谷算法标签:

其实还有高精度


这个题困死在了十六进制,后来想了想,我们在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. MySQL删除数据库时无响应解决办法

    删除远程主机上MySQL中的一个数据库时,远程主机一直在响应,无法正常删除. 这个问题的解决办法如下:在远程主机上登录MySQL,执行show full processlist;观察state和inf ...

  2. SQL 检查 Varchar 是否能转换为 NUMERIC

    https://bbs.csdn.net/topics/390480323 ISNUMERIC(size_long)=1 (IIF( ISNUMERIC(size_long)=1 AND ISNUME ...

  3. spring boot + session+redis解决session共享问题

    自己没有亲自试过,不过看了下这个例子感觉靠谱,以后做了测试,在加以说明. PS:后期经验证,上面例子可行.我们平时存session里面的值,直接存在了redis里面了.

  4. entity framework浅谈

    1. 什么是EF 微软提供的ORM工具. ORM让开发人员节省数据库访问代码的时间. 将更多的时间放在业务逻辑层面上. 开发人员使用linq语言, 对数据库进行操作. 2. EF的使用场景 EF有三种 ...

  5. 转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代

    转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代   原文地址:SAP囚徒 - 通过销售订单领用到成本中心,FI替代实现不同成本中心记账科目不同作者:SAP囚徒 物品领用通常是库存管理的范畴 ...

  6. Gym 101617J Treasure Map(bfs暴力)

    http://codeforces.com/gym/101617/attachments 题意:给出一个图,每个顶点代表一个金矿,每个金矿有g和d两个值,g代表金矿初始的金子量,d是该金矿每天的金子量 ...

  7. C#深入多线程

    主线程: th = Thread.CurrentThread; //现在的线程为主线程 th.Name = "MainThread"; //set线程名字:主线程本身没有名字 th ...

  8. Python 一个抓取糗百的段子的小程序

    import requests import re #糗事百科爬虫类 class QSBK: #初始化方法,定义一些变量 def __init__(self): self.headers={ &quo ...

  9. JsonKey小写

    System.Text.RegularExpressions.MatchCollection ms = System.Text.RegularExpressions.Regex.Matches(eca ...

  10. 删除node_modules文件

    删除node_modules文件夹报错:路径太长,无法删除. npm install rimraf -g rimraf node_modules