zoukankan      html  css  js  c++  java
  • 数据结构 | 链表:1074

    只得了19分。不想浪费时间去研究剩下6分了。

    #include <stdio.h>
    #include <memory.h>
    #include <math.h>
    #include <string>
    #include <vector>
    #include <set>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <map>
    
    
    #define I scanf
    #define OL puts
    #define O printf
    #define F(a,b,c) for(a=b;a<c;a++)
    #define FF(a,b) for(a=0;a<b;a++)
    #define FG(a,b) for(a=b-1;a>=0;a--)
    #define LEN 1000000
    #define MAX 0x06FFFFFF
    #define V vector<int>
    
    using namespace std;
    
    typedef struct Node{
        int d,next,i;
    }Node;
    Node nd[LEN];
    //map<int,int> num2add;
    
    int main(){
    //    freopen("1074.txt","r",stdin);
        int f,n,k,add,num,next;
        int i,j;
        I("%d%d%d",&f,&n,&k);
        FF(i,n){
            I("%d",&add);
            I("%d%d",&num,&next);
            nd[add].i=add;
            nd[add].d=num;
            nd[add].next=next;
    //        num2add[num]=add;
        }
        vector<Node> ls;
        i=f;
        while(i>=0){
            ls.push_back(nd[i]);
            i=nd[i].next;
        }
        int sz=ls.size();
        reverse(ls.begin(),ls.begin()+k);
        for(i=k-1;i>=0;i--){
            if(i+1<sz){
                ls[i].next=ls[i+1].i;
            }else ls[i].next=-1;
                
        }
        FF(i,sz-1){
            printf("%05d %d %05d
    ",ls[i].i,ls[i].d,ls[i].next);
        }
        printf("%05d %d %d
    ",ls[i].i,ls[i].d,ls[i].next);
        return 0;
    }
  • 相关阅读:
    [COGS2580]偏序 II
    [COGS2479]偏序
    [BZOJ2716]天使玩偶
    [BZOJ4237]稻草人/[JOISC2014]かかし
    Ynoi2015 世上最幸福的女孩
    ARC098D Donation
    BZOJ3691 游行
    CF923E Perpetual Subtraction
    Luogu P4191 [CTSC2010]性能优化
    Topcoder SRM 590 Fox And City
  • 原文地址:https://www.cnblogs.com/TQCAI/p/8545691.html
Copyright © 2011-2022 走看看