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;
    }
  • 相关阅读:
    JQuery DOM操作
    JQuery 选择器和事件
    LinQ 组合查分页
    LinQ
    web 图片验证码 验证
    Web 上传图片加水印
    Web 组合查询加 分页
    ajax连接数据库加载+三级联动
    jq动画
    jq基础
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/9649871.html
Copyright © 2011-2022 走看看