coderforce 569B Inventory
来源:互联网 发布:舟山通达网络 编辑:程序博客网 时间:2024/06/05 08:56
题意:给你一个数列,要求改变最小次数,使改变后的数列为1-n的一个排列
解:标记出现过的&&第一次出现的&&a[i]<=n.其他的,从没出现过的书中,从小到大给其赋值。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxm=1e5+10;int a[maxm];int b[maxm];int vis[maxm];int vit[maxm];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(vis,0,sizeof(vis)); memset(vit,0,sizeof(vit)); for(int i=0;i<n;i++) { scanf("%d",&a[i]); if(!vis[a[i]]&&a[i]<=n) { vis[a[i]]=1; } else { vit[i]=1; } } int cnt=0; for(int i=1;i<=n;i++) { if(!vis[i]) { b[cnt++]=i; } } cnt=0; for(int i=0;i<n;i++) { if(vis[a[i]]&&!vit[i]) { printf("%d ",a[i]); } else { printf("%d ",b[cnt++]); } } printf("\n"); } return 0;}
0 0
- coderforce 569B Inventory
- Codeforces 569B Inventory
- codeforces 569B - Inventory
- Codeforces 569 B. Inventory
- Codeforces 569 B. Inventory
- 【40.17%】【codeforces 569B】Inventory
- B. Inventory
- CodeForces 569B Inventory 货物编号
- coderforce 1B-Spreadsheet
- coderforce 560 B
- coderforce 591B Rebranding
- Codeforces Round #315 (Div. 2)569B Inventory(队列)
- coderforce --B. Sereja and Suffixes
- coderforce 572B Order Book
- coderforce 545B. Equidistant String
- coderforce 489B B. BerSU Ball
- coderforce 588B Duff in Love
- coderforce 580B Kefa and Company
- 10.线性表之数组的基本操作
- SHELL脚本执行方式
- 模板方法和控制反转
- java通过JDBC链接SQLServer2012
- linux strace 命令学习网址
- coderforce 569B Inventory
- 基于MFC的DLL开发的一些个人经验
- java中猴子吃桃子的问题和求分数序列和的问题
- matiab调用C语言程序
- 第九周项目1--猴子选大王
- 使用百宝云搭建注册码云服务器系统
- Android性能优化典范
- Autofs自动挂载服务
- poj1611并查集