题目思路还是很直接,首先按要求生成字符串。如果该目标字符串小于原字符串,那么从第k位开始,找到最后一个非9的位置,++,同时如果有9,要考虑进位(一开始没有考虑WA了一次)。

犯了一个错误,就是比较字符串大小时,一开始写的是如果b中有一个小于a,就return false.WA了半天。可以直接用strcmp()。

 #include <bits/stdc++.h>
using namespace std;
const int N=2e5+;
int n,k;
char a[N],b[N];
bool check()
{
for(int i=;i<=n;i++)
{
if(a[i]<b[i])
return true;
if(a[i]>b[i])
return false;
}
return true;
}
int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
scanf("%s",a+);
for(int i=;i<=n;i++)
{
if(i<=k)
b[i]=a[i];
else
b[i]=b[i-k];
}
int p;
if(!check())//strcmp(b+1,a+1)<0
{
p=k;
while(b[p]==''&&p>)//忘记考虑9不能再加1的情况
{
b[p]='';
p--;
}
b[p]++;
for(int i=k+;i<=n;i++)
b[i]=b[i-k];
}
printf("%d\n",n);
for(int i=;i<=n;i++)
printf("%c",b[i]);
printf("\n");
}
return ;
}

最新文章

  1. 第三方登录插件.NET版XY.OAuth-CSharp
  2. 在SecureCRT中使用rz和sz传输文件
  3. codeforces B. Sereja and Stairs 解题报告
  4. loj 1034(最小点基)
  5. P1379 八数码问题
  6. 2、HTML
  7. AlarmManager
  8. 05-3. 求a的连续和(15)
  9. 【SoDiaoEditor电子病历编辑器】阶段性更新--新增复选框、日期控件、表格排版支持等
  10. python进阶学习(三)
  11. Windows 10 快捷键汇总表格
  12. PHP访问SQL Server驱动对应关系
  13. hdu 5095 多项式模拟+有坑
  14. 关于操作系统:eos、deepin
  15. Elasticsearch四种常见的相关度分数优化方法
  16. ubuntu 16.04.1 LTS postgresql安装配置
  17. POSIX是什么?
  18. linux中增加swap分区文件的步骤方法
  19. python排序算法实现(冒泡、选择、插入)
  20. angular项目中使用jQWidgets

热门文章

  1. 啥?你想diy一个智能音箱,来吧
  2. BZOJ 2434 阿狸的打字机(ac自动机+dfs序+树状数组)
  3. shell脚本自动化部署
  4. docker pull 时报错Create more free space in thin pool or use dm.min_free_space option to change behavior
  5. 一步步搭建jumpserver
  6. 将你的Archlinux打造成路由器
  7. A water problem 大数取余。
  8. Windows AD日志分析平台WatchAD安装教程
  9. (数据科学学习手札78)基于geopandas的空间数据分析——基础可视化
  10. pikachu-越权漏洞(Over Permission)