当前位置: 首页 > news >正文

专做女鞋批发的网站/广州引流推广公司

专做女鞋批发的网站,广州引流推广公司,南京做网站xjrkj,porto 4wordpress下载题意:将数字n转化成若干个回文数字之和。 知识点:大数减法 前缀0删除 字符串指针的应有 题解:因为带着完美主义的追求,把这题做傻了。。。 思路是对的,只是多考虑了些不必要的细节,导致本来简单的问题复杂化了,又被指针坑了一把。 所幸A…

题意:将数字n转化成若干个回文数字之和。

知识点:大数减法 前缀0删除  字符串指针的应有

题解:因为带着完美主义的追求,把这题做傻了。。。

思路是对的,只是多考虑了些不必要的细节,导致本来简单的问题复杂化了,又被指针坑了一把。

所幸AC了,就贴出来当作对指针的回顾吧。

简洁解法: 将s的前半段s2取出来,然后s2-1,再构造成回文串c。s-=c,直到c=1。这么做简单不少,看来比赛时不能太追求完美,AC为王。


#include"bits/stdc++.h"
using namespace std;
const int N=1e3+100;
char *s,*small;                 //指向字符串的指针(为了快速删除前缀0而如此定义)
char ss[N],sm[N];                //给字符串指针 分配初始空间   void delete0(char * &ps)             //删除前缀0
{for(int i=0;i<strlen(ps);i++){if(ps[i]!='0'){ps=&ps[i];return ;}}ps[0]=0;
}void sub(int lens)                              //大数减法
{delete0(s);delete0(small);bool flag=0;int cha=strlen(s)-strlen(small);for(int i=lens-1;i>=0;i--){if(flag==1){if(s[i]=='0')s[i]='9';elses[i]=s[i]-1,flag=0;}if(i-cha<0)break;if(s[i]>=small[i-cha])s[i]=s[i]-small[i-cha]+'0';else{s[i]=s[i]+10-small[i-cha]+'0';flag=1;}}
}void find_s()
{int lens=strlen(s);if(lens%2==0){if(s[lens/2-1]>=s[lens/2])       //中间左大于右  其实这不考率也行,毕竟n>50  {int key;for(int i=lens/2-1;i>=0;i--)if(s[i]!='0')                       // 0特殊考虑{key=i;break;}if(key==0){small[0]='0';for(int i=1;i<lens;i++){small[i]='9';}return ;}for(int i=0;i<=key;i++){small[i]=small[lens-i-1]=s[i];if(i==key)small[i]=small[lens-i-1]=s[i]-1;}for(int i=key+1;i<lens/2;i++)small[i]=small[lens-i-1]='9';}else{for(int i=0;i<lens/2;i++)small[i]=small[lens-i-1]=s[i];}}else            //lens奇数{if(lens==1){small[0]=s[0];return ;}if(s[(lens+1)/2-1]!='0'){for(int i=0;i<(lens+1)/2;i++){small[i]=small[lens-i-1]=s[i];if(i==(lens+1)/2-1)small[i]=s[i]-1;}}else                                            ///和偶数时的处理一样{if(s[(lens+1)/2-2]>=s[(lens+1)/2])          //中间左大于右  {int key;for(int i=(lens+1)/2-2;i>=0;i--)if(s[i]!='0'){key=i;break;}if(key==0){small[0]='0';for(int i=1;i<lens;i++){small[i]='9';}return ;}for(int i=0;i<=key;i++){small[i]=small[lens-i-1]=s[i];if(i==key)small[i]=small[lens-i-1]=s[i]-1;}for(int i=key+1;i<(lens+1)/2;i++)small[i]=small[lens-i-1]='9';                     }else{for(int i=0;i<lens/2;i++)small[i]=small[lens-i-1]=s[i];small[lens/2]='0';}}}
}char ans[60][N];
int main()
{int t;scanf("%d",&t);for(int kase=1;kase<=t;kase++){memset(ans,0,sizeof(ans));scanf("%s",ss);s=ss;small=sm;int lens,cnt=0;while(true){memset(sm,0,sizeof(sm));small=sm;                         //small指针的初始化delete0(s);lens=strlen(s);if(s[0]=='0'||lens==0)break;find_s();delete0(small);for(int i=0;i<strlen(small);i++)ans[cnt][i]=small[i];cnt++;sub(lens);}printf("Case #%d:\n",kase);printf("%d\n",cnt);for(int i=0;i<cnt;i++)printf("%s\n",ans[i]);}
}



Ugly Problem

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 385    Accepted Submission(s): 145
Special Judge


Problem Description
Everyone hates ugly problems.

You are given a positive integer. You must represent that number by sum of palindromic numbers.

A palindromic number is a positive integer such that if you write out that integer as a string in decimal without leading zeros, the string is an palindrome. For example, 1 is a palindromic number and 10 is not.

Input
In the first line of input, there is an integer T denoting the number of test cases.

For each test case, there is only one line describing the given integer s (1s101000).

Output
For each test case, output “Case #x:” on the first line where x is the number of that test case starting from 1. Then output the number of palindromic numbers you used, n, on one line. n must be no more than 50. en output n lines, each containing one of your palindromic numbers. Their sum must be exactly s.

Sample Input
2 18 1000000000000

Sample Output
Case #1: 2 9 9 Case #2: 2 999999999999 1
Hint
9 + 9 = 18 999999999999 + 1 = 1000000000000

Source
2016中国大学生程序设计竞赛(长春)-重现赛


http://www.lbrq.cn/news/1247725.html

相关文章:

  • 网站做树状结构有什么作用/搜索引擎关键词怎么优化
  • 回老家做PHP网站/seo网络推广机构
  • wordpress后台地址打开空白/seo的关键词无需
  • 做图片为主的网站对服务器的要求/bing搜索引擎下载
  • 做p2p网站/网络小说排行榜
  • 网站二级页怎么做/seo网站关键词优化方法
  • 汨罗住房和城乡建设局网站/深圳全网营销推广平台
  • 做网站费用可以看为广告费用吗/seo云优化公司
  • 用web做网站/品牌线上推广方案
  • 黑龙江网站备案管理局/项目平台
  • 网络公司网站模板/百度优化点击软件
  • 江门市建设工程投标网站/谷歌seo引擎优化
  • 建站平台软件/百度手机导航官方新版
  • 图片在线压缩/外包seo服务收费标准
  • 佛山市seo网站设计工具/百度爱采购竞价
  • 推广方式和渠道/谷歌seo公司
  • 怎么改网站模板/惠州网络营销公司
  • .net做的网站/深圳网站建设资讯
  • 网站的首页设计方案/四川seo快速排名
  • 广告图案大全图片素材/移动端关键词优化
  • 深圳做网站排名价格/市场营销策划公司排名
  • 外贸网站建设推广公司前景如何/北京本地网络推广平台
  • dw网站log怎么做/百度指数怎么查
  • 免费的黄冈网站有哪些平台软件/河北seo推广方案
  • ps做游戏网站/搜索引擎推广有哪些平台
  • 快速建立平台网站开发需要多少钱/百度搜索风云榜排名
  • 大连甘井子区二手房/seo的内容有哪些
  • 品牌网站建设流程/seo视频教程百度云
  • 怎么创建网站 免费的/外链相册
  • 旅游网站建设方案/网站开发的一般流程
  • 基于C-MTEB/CMedQAv2-rerankingv的Qwen3-1.7b模型微调-demo
  • STM32学习记录--Day3
  • DNS污染与劫持
  • “非参数化”大语言模型与RAG的关系?
  • 系统学习算法:专题十五 哈希表
  • MySQL图解索引篇