题目描述

题解

我们可以考虑第一位 ppp 使得 a[p]<b[p]a[p]<b[p]a[p]<b[p] 的需要满足什么条件,故前面不等的个数和加上第 ppp 位 a[p]≥b[p]a[p] \ge b[p]a[p]≥b[p] 的和 ≤k\le k≤k ,且加上 n−pn-pn−p ,并且 a[p]<b[p]a[p]<b[p]a[p]<b[p] 且 a[p]a[p]a[p] 可以更小的话再加上 111 ,总和要 ≥k\ge k≥k 。于是我们可以找到最大的满足条件的 ppp ,然后把前面改成相等,后面的不是 999 的改成 999 ,如果没到个数的话那就从后往前把原来是 999 的改成 888 即可。

代码

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int T,k,n,a[N],b[N],c[N];
char A[N],B[N];
void work(){scanf("%s%s%d",A,B,&k);n=strlen(A);int p=-1,v=0;for (int i=0;i<n;i++) a[i]=A[i]^48,b[i]=B[i]^48;for (int u,i=0;i<n;i++){if (b[i]){u=v+(a[i]>=b[i]);if (u<=k && u+n-i-1+(a[i]<b[i]&&b[i]>1)>=k) p=i;}v+=(a[i]!=b[i]);}if (p<0){puts("-1");return;}v=0;for (int i=0;i<p;i++) v+=(a[i]!=b[i]),a[i]=b[i];if (a[p]>=b[p]) a[p]=b[p]-1,v++;else if (v<k && a[p]!=b[p]-1) a[p]=b[p]-1,v++;for (int i=p+1;i<n;i++)if (a[i]<9 && v<k) a[i]=9,v++;for (int i=n-1;i>p;i--)if (A[i]=='9' && v<k) a[i]=8,v++;while(v<k) v++,a[p]--;for (int i=0;i<n;i++) putchar(a[i]^48);puts("");
}
int main(){for (scanf("%d",&T);T--;work());return 0;}

#3234. 「POI2019 R1」Pomniejszenie相关推荐

  1. 「POI2011 R1」Conspiracy

    「POI2011 R1」Conspiracy 解题思路 : 问题转化为,将点集分成两部分,其中一部分恰好组成一个团,其中另一部分恰好组成一个独立集. 观察发现,如果求出了一个解,那么答案最多可以在这个 ...

  2. 投稿人就是AI顶会最好的「审稿人」!中国学者提出同行评审新机制

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨新智元 编辑丨极市平台 导读 近年来,机器学习顶会论文数目井喷 ...

  3. 国产框架MindSpore联合山水自然保护中心,寻找、保护「中华水塔」中的宝藏生命

    红外相机是常用的野生动物调查手段,通过布设在野外的相机利用红外感应相机前经过的动物并拍摄照片或视频素材,来获取当地野生动物的信息. 红外相机照片和视频中物种的识别往往需要大量的人力和时间投入,这也是红 ...

  4. Akka 指南 之「消息传递可靠性」

    温馨提示:Akka 中文指南的 GitHub 地址为「akka-guide」,欢迎大家Star.Fork,纠错. 文章目录 消息传递可靠性 一般规则 讨论:"至多一次"是什么意思? ...

  5. 技巧 | 使用基础绘图系统绘制「森林图」

    森林图可以很直观地表达数学模型的结果,尤其是在对比多种情境的结果时. R语言中有一些专门绘制森林图的工具包,不过小编目前还没仔细研究过.实际上,通过基础绘图系统的一些简单函数的组合使用就能绘制森林图. ...

  6. 「AHOI / HNOI2017」影魔

    「AHOI / HNOI2017」影魔 题目描述 解决这类比较复杂的区间贡献问题关键在于找到计算的对象. 比如这道题,我们计算的对象就是区间中间的最大值. 对于点\(i\),我们找到左边第一个比他大的 ...

  7. 大神用法 | 我是这样「拆建」笔记结构的

    穆月课的原文地址为:http://www.douban.com/note/480245098/ 以下为印象笔记整理的结果,其原文地址为:http://chuansong.me/n/1709922 今天 ...

  8. 计算机办公软件知识考试试题,office办公软件考试题「附答案」

    一.选择题 1.根据汉字国标码GB2312-80的规定,将汉字分为常用汉字(一级)和次常用汉字(二级)两级汉字.一级常用汉字按______排列. A.部首顺序 B.笔划多少 C.使用频率多少 D.汉语 ...

  9. loj2058 「TJOI / HEOI2016」求和 NTT

    loj2058 「TJOI / HEOI2016」求和 NTT 链接 loj 思路 \[S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k ...

最新文章

  1. 数据结构——数据结构中的数据表示
  2. Ubuntu中的launcher
  3. ASP.NET学习笔记 2
  4. 【开发者portal在线开发插件系列五】命令的响应,即命令结果的上报(mid的使用)
  5. metasploit下载教程linux,在Debian 10/9系统上安装Metasploit Framework的方法
  6. 前段时间是Flash大战HTML5,现在是SliverLight“被遗弃”,我啊羡慕你们的热闹。...
  7. Java8 中的真的 Optional 很强大,你用对了吗?
  8. success.php
  9. 【C++从青铜到王者】第二十七篇:特殊类设计
  10. n元线性方程组解的情况及判别准则
  11. 强大的dex反编译器
  12. mysql 启动失败 详情_mysql启动失败一例
  13. RabbitMQ的分发机制
  14. 数据结构实验教程-第一套
  15. 关于“差生”的深度讨论
  16. python安装方法3.8.2_Python 3.8.2详细图文安装教程(附安装包) | 我爱分享网
  17. linux如何kill僵尸进程,linux 如何杀死僵尸进程——原理及操作
  18. 世界上最远的距离-泰戈尔
  19. 使用Typora+PicGo配置Gitee图床
  20. Linux安装Mysql完整步骤

热门文章

  1. webpack打包全流程
  2. 28岁程序身价过亿,从字节提前“退休
  3. ps快速去除图片上的文字
  4. 一次简单的SQL注入靶场练习
  5. 这款不输5118伪原创文章生成器软件
  6. 计算机毕业设计基于asp.net的幼儿园接送信息管理系统
  7. 数据缺失,数据异常,数据标准化的处理方法
  8. 桁架工业机器人编程_《上下料桁架机器人》编制说明.doc
  9. jfinal基本概述
  10. UI设计师工作流程详解,让你充分了解UI设计师