1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main(){ string n; // 存储输入的高精度数字(用字符串避免溢出) int s; // 需要删除的位数 cin >> n >> s; // [1] 输入数字字符串和删除位数 // [2] 贪心删除:每次删除1个字符,共删除s次 for(int i = 1; i <= s; i++){ // 遍历字符串,找到第一个比右侧字符大的位置 for(int j = 0; j < n.size(); j++){ if(n[j] > n[j+1]){ n.erase(j, 1); // 删除该位置字符,使剩余数字尽可能小 break; // 找到一个就退出本轮,进入下一次删除 } } } // [3] 去除前导零并输出结果 for(int i = 0; i < n.size(); i++){ if(n[i] != '0') // 跳过前导的0,直到找到第一个非0字符 cout << n[i]; } return 0; }
- 1
信息
- ID
- 1034
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者