Codeforces Round #315 (Div. 2)
来源:互联网 发布:下载邪恶漫画软件 编辑:程序博客网 时间:2024/05/16 08:16
B. Inventory
题意是这样的:有些物品不是按序列编号,甚至有些物品有相同的编号。你需要从1开始对这些物品进行编号,尽可能使用原来的编号,也就是说你做的修改越少越好,使得所有的物品编号在1~n的范围内并且任何两个物品的编号不同。
代码如下:
#include<iostream>using namespace std;const int maxn = 100002;int a[maxn], f[maxn], t[maxn];int main(){int n, i, k;cin >> n;for (i = 1; i <= n; ++i){cin >> a[i];f[a[i]]++;//标记某个数出现的次数if (a[i]>n)//若某个标号大于最大编号将其出现次数设为0表示该标号不合法 f[a[i]] = 0;}if (n == 1){cout << 1 << endl;return 0;}for (i = 1, k = 0; i <= n; ++i)if (!f[i])t[k++] = i;//t按照从小到大的顺序标记未出现过的编号for (i = 1, k = 0; i <= n; ++i){if (!f[a[i]])cout << t[k++] << " ";else{cout << a[i] << " ";f[a[i]] = 0;}}cout << endl;return 0;}
0 0
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2)
- B. Inventory-Codeforces Round #315 (Div. 2)
- A. Music-Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2) A. Music
- Codeforces Round #315 (Div. 2) B. Inventory
- Codeforces Round #315 (Div. 2) A. Music
- Codeforces Round #315 (Div. 2) B. Inventory
- Codeforces Round #315 (Div. 2)(ABC)
- Codeforces Round #315 (Div. 2)A. Music
- Codeforces Round #315 (Div. 2) (ABCD题解)
- Codeforces Round #315 (Div. 2)(A,B)
- Codeforces Round #315 (Div. 2) A
- machine learning in coding(python):使用贪心搜索【进行特征选择】
- Linux文件监控
- 求一个字符串中第一个出现无重复的字符
- activeMQ学习资料
- 教你彻底学会动态规划——进阶篇
- Codeforces Round #315 (Div. 2)
- iOS开发之OC类和对象
- 面试常见问题 死锁代码&单例模式
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十三章 协议
- JAVA基础一大堆0811数据库
- hdu 1301&& ny 434 &&poj 1251 Jungle Roads【最小生成树】
- JavaWeb学习总结——文件上传和下载
- nginx启动,重启,关闭命令;以及升级nginx切换命令
- Java Path变量和ClassPath变量