codeforces 569B - Inventory
来源:互联网 发布:淘宝自动打款时间 编辑:程序博客网 时间:2024/06/05 10:32
题目链接:Click here
题意:给你t个数,合法的数为只出现在1~t之间,没有重复出现的数。要求你将不合法的数该为合法的数。
思路:将给的数中出现的数标记起来,重复或出界的数存到另一个数组中,在从1~t循环查找未标记的数,将不合法的数改为该数。
#include <iostream>#include <cstring>#include <cstdio>#include <queue>#include <cstdlib>using namespace std;int a[100005];int b[100005];int f[100005];int main(){ int t, x; while(scanf("%d", &t)!= EOF) { x = 1; memset(f, 0, sizeof(f)); for(int i = 1; i <= t; i++) { scanf("%d", &a[i]); if(f[a[i]] == 0 && a[i] <= t) f[a[i]] = 1; else { b[x] = i; x++; } } x--; for(int i = t; i > 0; i--) { if(f[i] == 0) { a[b[x]] = i; x--; } } for(int i = 1; i < t; i++) printf("%d ", a[i]); printf("%d\n", a[t]); } return 0;}
0 0
- Codeforces 569B Inventory
- codeforces 569B - Inventory
- Codeforces 569 B. Inventory
- Codeforces 569 B. Inventory
- 【40.17%】【codeforces 569B】Inventory
- CodeForces 569B Inventory 货物编号
- Codeforces Round #315 (Div. 2)569B Inventory(队列)
- coderforce 569B Inventory
- B. Inventory-Codeforces Round #315 (Div. 2)
- Codeforces Round #315 (Div. 2) B. Inventory
- Codeforces Round #315 (Div. 2) B. Inventory
- Codeforces Round #315 (Div. 2)-B. Inventory
- B. Inventory
- Codeforces Round #315 div2 B-Inventory 标记,水题
- Codeforces Round #315 (Div. 2) B. Inventory (STL)
- Codeforces Round #315 (Div. 2) B. Inventory (水题)
- B. Inventory(Codeforces Round #315 (Div. 2)水题)
- inventory
- CodeForces 569B Inventory 货物编号
- css font的简写规则
- 输入框回车事件
- 当C++遇到IOS应用开发---LRUCache缓存
- HDU 畅通工程 1863
- codeforces 569B - Inventory
- Ext 动态添加grid 列数
- 构造函数delete和default关键字分析
- String与StringBuffer的区别
- 数组
- 20-03-其他对象API(Math类)
- cocos2d-x 调用iOS摄像头 c++ 和 OC混编
- 骆驼命名法转小写分隔
- 语义分析的一些方法(三)