zoukankan      html  css  js  c++  java
  • ZROI2018提高day3t1

    传送门

    分析

    我们可以用贪心的思想。对于所有并没有指明关系的数一定是将小的放在前面。于是我们按顺序在每一个已经指明大小顺序的数前面插入所有比它小且没有指明关系的数。详见代码。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    int ans[100100],a[100100],is[100100],last=0,cnt;
    int main(){
          int n,m,i,j,k;
          scanf("%d%d",&n,&m);
          for(i=1;i<=m;i++){
              scanf("%d",&a[i]);
              is[a[i]]=1;
          }
          j=1;
          while(j<=m){
              for(k=last+1;k<=n;k++)
                if(k<a[j]){
                    last++;
                    if(!is[k])ans[++cnt]=k;
                }else {
                    ans[++cnt]=a[j];
                    break;
                }
              j++;
          }
          for(i=last+1;i<=n;i++)
            if(!is[i])ans[++cnt]=i;
          for(i=1;i<=n;i++)printf("%d
    ",ans[i]);
          return 0;
    }
  • 相关阅读:
    Oracle分页查询
    Oracle表空间
    Oracle中DBA常用操作
    数据库的约束
    数据库设计的三范式
    数据类型的比较 有四种情况
    github快速上手
    3D正方体做法
    animation-声明关键帧
    轮播图样式
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/9649871.html
Copyright © 2011-2022 走看看