lightOJ 1396 - Palindromic Numbers (III)(回文数)
来源:互联网 发布:全景动画制作软件 编辑:程序博客网 时间:2024/06/06 15:04
题意:找出比给定数大一点点的回文数;
#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#include <queue>#include <stack>using namespace std;int a[100005],b[100005];char ch[100005];bool judge(int len){ for(int i=0;i<len;i++) if(a[i]!=9) return false; return true;}void solve(){ int len = strlen(ch); for(int i=0;i<len;i++) a[i] = ch[i]-'0'; int tmp = -1; for(int i=0;i<len;i++) if(a[i]) { tmp = i; break; } if(tmp==-1) { a[0] = 0;len = 1; }else { for(int i=0;i+tmp<len;i++) a[i] = a[i+tmp]; len-=tmp; } if(judge(len)) { for(int i=0;i<=len;i++) if(i==0||i==len) printf("1"); else printf("0");printf("\n"); return ; } int p=0; int k = 0; int mid = len>>1; for(int i=len-1;i>=mid;i--) { int c = len - i - 1; if(a[i]!=a[c]) k = 1; if(a[c]>=a[i]+p) { a[i] = a[c];p=0; }else { p = 1; a[i] = a[c]; } } if(k==0||p) { if(len&1) { for(int i=(len>>1);i>=0;i--) if(a[i]==9) { a[i] = a[len-i-1] = 0; }else { a[i]=a[len-i-1] = a[i]+1; break; } } else { for(int i=(len>>1)-1;i>=0;i--) if(a[i]==9) { a[i] = a[len-i-1] = 0; }else { a[i]=a[len-i-1] = a[i]+1; break; } } } for(int i=0;i<len;i++) { printf("%d",a[i]); }printf("\n");}int main(){ freopen("in.txt","r",stdin); int cas,T=1; scanf("%d",&cas); while(cas--) { scanf("%s",ch); printf("Case %d: ",T++); solve(); } return 0;}
- lightOJ 1396 - Palindromic Numbers (III)(回文数)
- LightOJ 1396 Palindromic Numbers (III)(贪心)
- lightoj 1396 - Palindromic Numbers (III)
- Palindromic Numbers (III)(回文数,较麻烦)
- Lightoj1205——Palindromic Numbers(数位dp+回文数)
- LightOJ 1205 - Palindromic Numbers (数位dp)
- LightOJ 1205 - Palindromic Numbers (数位dp)
- LightOJ 1205 Palindromic Numbers(数位DP)
- LightOJ 1205 Palindromic Numbers(数位dp)
- LightOJ 1205 Palindromic Numbers
- LightOJ 1205 Palindromic Numbers
- LightOJ 1205 Palindromic Numbers
- LightOJ 1225 Palindromic Numbers
- LightOJ 1225 Palindromic Numbers
- Palindromic Numbers LightOJ
- Palindromic Numbers LightOJ
- LIGHT OJ 1225 - Palindromic Numbers (II)【回文数】
- lightoj - 1205 Palindromic Numbers (数位dp)好
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- Heartbeat+Mon简单测试- - 学习1
- 补码 原码 反码
- 实例解析linux内核I2C体系结构
- lammps 备忘
- lightOJ 1396 - Palindromic Numbers (III)(回文数)
- hibernate java.lang.ClassNotFoundException: javax.persistence.EntityListeners
- hibernate Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
- 关于24点游戏的编程思路与基本算法
- ebp与esp讲解
- 什么是函数签名
- Review Board中文支持
- 任志强地产峰会再放炮:房价暴涨的四大理由
- C# 命名空间和程序集的关系