博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeVS 1045 回文数
阅读量:6692 次
发布时间:2019-06-25

本文共 1693 字,大约阅读时间需要 5 分钟。

题目大意:

 

代码:

#include 
#include
using namespace std;int n,m;char ch[500];int arr[500];void print(){ for(int i = 0 ; i < 500; i++) { if(arr[i] != -1) cout << arr[i] << " " ; else break; } cout << endl;}void add(){ int tmp[500]; int arr1[500]; int count = 0; int l = 0; for(int i = 0; i < 500; i++) { if(arr[i] != -1) l++; else break; } l--; for(int i = l, j = 0; i >= 0 ;i--, j++) { arr1[j] = arr[i]; } int flag = 0; while(l >= 0) { int t = (arr[l] + arr1[l] + flag) % n; flag = (arr[l] + arr1[l] + flag) / n; tmp[count++] = t; l--; } if(flag == 1) tmp[count++] = 1; for(int i = count - 1, j = 0; i >= 0; i--, j++) { arr[j] = tmp[i]; }}bool judge(){ int l = 0; for(int i = 0; i < 500; i++) { if(arr[i] != -1) l++; else break; } l--; int s = 0; while(s <= l) { if(arr[s] == arr[l]) { s++; l--; } else return false; } return true;}int main(){ cin >> n >> ch; for(int i = 0; i < 500; i++) arr[i] = -1; for(int i = 0; i < strlen(ch); i++) { int tmp = ch[i] - '0'; if(tmp <= 9) arr[i] = tmp; else arr[i] = tmp - 7; } for(int i = 0; i <= 30; i++) { if(!judge()) { add(); } else { cout <<"STEP=" << i << endl; return 0; } } cout << "Impossible!" << endl; return 0;}

 

转载于:https://www.cnblogs.com/zyqBlog/p/7692440.html

你可能感兴趣的文章
[译]科学计算可视化在andriod与ios实现的工具
查看>>
开始blog
查看>>
3dmax2012卸载/安装失败/如何彻底卸载清除干净3dmax2012注册表和文件的方法
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合
查看>>
javascript对象
查看>>
中国版Azure支持那些版本号Linux
查看>>
HDU 4858 项目管理
查看>>
SQL基础(一)
查看>>
python Robot Framework用法总结(转)
查看>>
jsp清除缓存
查看>>
javascript中this指向的理解(转载)
查看>>
linux 二级域名设置
查看>>
微信多客服插件获取openid
查看>>
java获得CPU使用率,系统内存,虚拟机内存等情况
查看>>
Vue项目搭建
查看>>
shell基础 -- 基本正则表达式
查看>>
METO CODE 223 拉力赛
查看>>
修改NavigationView中的Item的Icon大小
查看>>
协议类接口 - I2C
查看>>