欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > [OD E 100] 恢复数字序列

[OD E 100] 恢复数字序列

2025/2/21 4:16:32 来源:https://blog.csdn.net/qq_36104270/article/details/145716535  浏览:    关键词:[OD E 100] 恢复数字序列

题目

题目描述
对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211,原来的正整数10就被拆成了0和1。现给定一个按如上规则得到的打乱字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。

输入描述
输入一行,为打乱字符的字符串和正整数序列的长度,两者间用空格分隔,字符串长度不超过200,正整数不超过1000,保证输入可以还原成唯一序列。

输出描述
输出一个数字,为序列中最小的数字。

示例1
输入
19801211 5

输出
8

示例2
输入
432111111111 4

输出
111

思路

暂时只想到暴力匹配

代码

#include <iostream>
#include <vector>
#include <string>using namespace std;int main()
{string str;int n;cin >> str >> n;vector<int> cnt(10, 0);for (char c : str){cnt[c - '0']++;}for (int i = 0; i <= 1000 - n; i++){string s;for (int j = 0; j < n; j++){s += to_string(i + j);}vector<int> tmpCnt(10, 0);for (char c : s){tmpCnt[c - '0']++;}if (cnt == tmpCnt){cout << i << endl;break;}}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词