zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1097. Deduplication on a Linked List (25)

    简单题。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<queue>
    #include<stack>
    #include<algorithm>
    using namespace std;
    
    const int maxn=100000+10;
    int root,n;
    struct Node
    {
        int id,val,nx;
    }tmp[maxn],s[maxn];
    
    int in[maxn];
    int flag[maxn];
    int idx[maxn];
    int tot=0;
    vector<int>g[maxn];
    
    int main()
    {
        memset(in,0,sizeof in);
        memset(flag,0,sizeof flag);
        scanf("%d%d",&root,&n);
        for(int i=1;i<=n;i++){
            scanf("%d%d%d",&tmp[i].id,&tmp[i].val,&tmp[i].nx);
            in[tmp[i].id]=i;
        }
    
        int p=root,sz=0;
        while(1)
        {
            if(p==-1) break;
            s[sz++]=tmp[in[p]];
            p=tmp[in[p]].nx;
        }
    
        for(int i=0;i<sz;i++)
        {
            if(flag[abs(s[i].val)]==0) g[0].push_back(i);
            else g[1].push_back(i);
            flag[abs(s[i].val)]++;
        }
    
        for(int i=0;i<=1;i++)
        {
            for(int j=0;j<g[i].size();j++)
            {
                if(j==g[i].size()-1)
                    printf("%05d %d %d
    ",s[g[i][j]].id,s[g[i][j]].val,-1);
                else
                    printf("%05d %d %05d
    ",s[g[i][j]].id,s[g[i][j]].val,s[g[i][j+1]].id);
            }
        }
        return 0;
    }
  • 相关阅读:
    jdk8 xp
    electron react
    electron install失败
    0511 Braft Editor和嵌套路由
    组播
    0427
    duilib自定义组件
    android 读写文件、列出根目录文件及新版本权限
    android Fragment使用RecyclerView
    Duilib 带xml的1
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5641951.html
Copyright © 2011-2022 走看看