题目链接
题意是给定长为n的整数x,然后需要你找到不小于n并且这个数的第i位等于i+k最小的数。
很明显,可以通过把当前数x的前k位,当做循环节,查看形成的数是否大于数x,如果小于,只需把循环节加上1就能够保证形成的数大于x了,小于输出就行,这里要注意是末尾为9的时候,要有进位,当然不会出现循环节全是9加一的情况,因为全是9的形成的数一定不会小于x的。
java大数异常方便,直接加一(手动狗头)
AC代码

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Main {static StreamTokenizer st = new StreamTokenizer(new BufferedInputStream(System.in));static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pr = new PrintWriter(new BufferedOutputStream(System.out));static Scanner sc = new Scanner(System.in);public static void main(String[] args) {//      long tic = System.currentTimeMillis();int n = sc.nextInt();int k = sc.nextInt();String s = sc.next();String s2 = s.substring(0,k);boolean flag = true;for(int i = k;i<n;i++) {if(s.charAt(i)<s2.charAt((i)%k)) {break;}else if(s.charAt(i)>s2.charAt((i)%k)) {flag = false;break;}}StringBuffer sb = new StringBuffer();if(flag) {for(int i = 0;i<n;i++) {sb.append(s2.charAt(i%k));}}else{String s3 = new BigInteger(s2).add(new BigInteger("1")).toString();for(int i = 0;i<n;i++) {sb.append(s3.charAt(i%k));}}System.out.println(sb.length());System.out.println(sb);//      long toc = System.currentTimeMillis();
//      System.out.println("Elapsed time: " + (toc - tic) + " ms");}private static long A(long n, long k, long mod) {long jcn = n;for (int i = 1; i < k; i++) {jcn *= (n - i);jcn %= mod;}return jcn;}private static long C(long n, long k, long mod) {long jcn = n;long jck = 1;for (int i = 1; i < k; i++) {jcn *= (n - i);jcn %= mod;jck *= i;jck %= mod;}jck *= k;jck %= mod;return jcn * pow(jck, mod - 2, mod) % mod;}static long pow(long a, long b, long mod) {long result = 1;while (b > 0) {if (b % 2 == 1) {result = (result * a) % mod;}a = (a * a) % mod;b /= 2;}return result;}static int nextInt() {try {st.nextToken();} catch (IOException e) {e.printStackTrace();}return (int) st.nval;}static double nextDouble() {try {st.nextToken();} catch (IOException e) {e.printStackTrace();}return st.nval;}static String next() {try {st.nextToken();} catch (IOException e) {e.printStackTrace();}return st.sval;}static long nextLong() {try {st.nextToken();} catch (IOException e) {e.printStackTrace();}return (long) st.nval;}
}

Codeforces Round #609 (Div. 2) C. Long Beautiful Integer相关推荐

  1. Codeforces Round #609 (Div. 2) D. Domino for Young 黑白染色

    传送门 文章目录 题意: 思路: 题意: 给你个不规则的网络格子,有nnn列,每列有aia_iai​个格子,让你将1×21×21×2的多米诺骨牌无重叠的放进去,问最多能放多少个. 思路: 首先如果点数 ...

  2. Codeforces Round #739 (Div. 3)(AK实况)

    Codeforces Round #739 (Div. 3) A. Dislike of Threes 找到第kkk个既不是333的倍数,个位数上也不是333的数,也已预处理然后O(1)O(1)O(1 ...

  3. Codeforces Round #277 (Div. 2) 题解

    Codeforces Round #277 (Div. 2) A. Calculating Function time limit per test 1 second memory limit per ...

  4. Codeforces Round #739 (Div. 3) ABCDEF1F2 解题思路

    Codeforces Round #739 (Div. 3) 可能是一开始大佬都写F1去了,我在D写完后发现F过的人数比E多了好多(个位数与十位数),以为F1比较简单,就直接开F1了,但自己分类讨论老 ...

  5. Codeforces Round #604 (Div.2)

    Codeforces Round #604 (Div.2) 2019/12/5 22:35--2019/12/6 00:35 Codeforces Round #604 (Div.2) A. Beau ...

  6. Codeforces Round #704 (Div. 2)-C. Maximum width-题解

    目录 Codeforces Round #704 (Div. 2)-C. Maximum width Problem Description Input Output Sample Input Sam ...

  7. [CF复盘] Codeforces Round 874 (Div. 3) 20230520】

    [CF复盘] Codeforces Round 874 (Div. 3 20230520 总结 A. Musical Puzzle 2. 思路分析 3. 代码实现 B. Restore the Wea ...

  8. Codeforces Round #739 (Div. 3) 「A B C D E F1 F2」

    Codeforces Round #739 (Div. 3) A. Dislike of Threes 题目描述: 如果一个数能被3整除或者十进制结尾的数字是3则是无趣的数,你想知道第n个有趣的数是什 ...

  9. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  10. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

最新文章

  1. .NET Core 2.1预览分层编译特性
  2. oc-21-class对象
  3. linux printf 刷新,linux下printf中\n刷新缓冲区的疑问(已解决)
  4. OEM 按钮乱码解决办法
  5. SAP Fiori elements第二次重复加载的问题
  6. Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法
  7. bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 -- Tarjan
  8. 领域驱动专家张逸文字脱口秀:简单工厂不简单
  9. Non-resolvable parent POM for com.supermarket:supermarket:0.0.1-SNAPSHOT: Could not transfer artifac
  10. Apache Server 修复两个高危缺陷
  11. Linux—文件系统
  12. excel甘特图制作项目进度管理表
  13. 省一级计算机操作题,江苏省计算机一级操作题大全
  14. 聚合支付系统如何开发?
  15. 手把手教你微信第三方平台开发
  16. NX二次开发-UFUN新建工程图UF_DRAW_create_drawing
  17. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?
  18. 博图软件中多重背景块的建立_过路老熊_新浪博客
  19. 【数据集|COCO】COCO格式数据集制作与数据集参数计算
  20. 量化交易必看电影之《蜂鸟计划》

热门文章

  1. Hadoop之——重新格式化HDFS的方案
  2. Google谷歌的未来 野心:2017 Google I/O 大会 全程回顾
  3. DAY3:尚学堂高琪JAVA(33~40)
  4. 美团、点评app抓包及参数分析
  5. 求职指导课程测试题(学习自测使用)
  6. CPU使用率查看方法
  7. webRTC音频NetEq之音频包插入缓冲抖动BUFF处理过程
  8. 智和网管平台-真正开放源码的网元管理系统(EMS)
  9. php unpack,PHP中的pack和unpack函数
  10. 计算机硬件系统的主要性能指标