pat1074

来源:互联网 发布:跑酷教程软件 编辑:程序博客网 时间:2024/05/18 03:58

     坑成狗,第一句说a singly linked list L,结果数据有不是一条链的

#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<string>#include<cstring>#include<cmath>#include<map>#include<stack>#define N 100005#define ll long longusing namespace std;int data[N],nxt[N];stack<int>s;vector<int>v;int main(){    int bg,n,l,i,j,a,b,c,p,len;while(scanf("%d%d%d",&bg,&n,&l)!=EOF){v.clear();for(i = 0;i<n;i++){scanf("%d%d%d",&a,&b,&c);data[a] = b;nxt[a] = c;}p = len = 0;for(i = bg;i!=-1;i = nxt[i])len++;i = bg;while(p+l<=len){for(j = 0;j<l;j++,p++){s.push(i);i = nxt[i];}while(!s.empty()){v.push_back(s.top());s.pop();}}while(i!=-1){v.push_back(i);i = nxt[i];}for(i = 0;i<v.size()-1;i++)printf("%05d %d %05d\n",v[i],data[v[i]],v[i+1]);printf("%05d %d -1\n",v[i],data[v[i]]);}    return 0;}


0 0
原创粉丝点击