每日一题洛谷P1106 删数问题c++

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;
int main() {
	string n;
	int k;
	cin >> n >> k;
	vector<char> s(n.begin(), n.end());
	int i = 0;
	while (k) {
		if (i == s.size() - 1 || s[i] > s[i + 1]) {
			k--;
			s.erase(s.begin() + i, s.begin() + i + 1);
			i = 0;
		}
		else i++;
	}
	if (s.size() == 1)cout << s[0];
	else {
		int flag = 0;
		for (int j = 0; j < s.size() ; j++) {
			if (flag || s[j] != '0') {
				cout << s[j];
				flag = 1;
			}
		}
	}
	return 0;
}
相关推荐
阿正的梦工坊9 分钟前
【Rust】02-变量、不可变性与基础类型
开发语言·后端·rust
阿正的梦工坊18 分钟前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#
FuckPatience24 分钟前
C# 使用泛型协变将派生类类型替换为基类类型
开发语言·c#
张忠琳28 分钟前
【Go 1.26.4】(Part 1) Go 1.26.4 超深度源码分析 — 总体架构与模块全景
开发语言·golang
小宋加油啊28 分钟前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
lqqjuly29 分钟前
前沿算法深度解析(一)
算法
guygg8831 分钟前
C# 生成中间带 Logo 头像的二维码
开发语言·c#
闪电悠米34 分钟前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
8125035331 小时前
第 9 篇:子网掩码:如何划分“小区”
开发语言·php