zoukankan      html  css  js  c++  java
  • 2019冬季PAT甲级第二题

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 typedef struct{
     5     int add,data,nex;
     6 }Node;
     7 Node node[100007],ans[100007],ans2[100007];
     8 map<int,int>mp;
     9 int main(){
    10     //ios::sync_with_stdio(false);
    11     //cin.tie(NULL);
    12     //cout.tie(NULL);
    13     int s,n,k;
    14     scanf("%d%d%d",&s,&n,&k);
    15     for(int i=1;i<=n;++i){
    16         scanf("%d%d%d",&node[i].add,&node[i].data,&node[i].nex);
    17         mp[node[i].add]=i;
    18     }
    19     int cnt=0;
    20     while(s!=-1){
    21         int num=mp[s];
    22         ans[++cnt].add=node[num].add;
    23         ans[cnt].data=node[num].data;
    24         ans[cnt].nex=node[num].nex;
    25         s=ans[cnt].nex;
    26     }
    27     int cnt2=0;
    28     int x=cnt/k;
    29     if(cnt%k)
    30         ++x;
    31     for(int i=x;i;--i){
    32         for(int j=(i-1)*k+1;j<=min(cnt,i*k);++j){
    33             ans2[++cnt2].add=ans[j].add;
    34             ans2[cnt2].data=ans[j].data;
    35             ans2[cnt2].nex=ans[j].nex;
    36         }
    37         if(i==1)
    38             ans2[cnt2].nex=-1;
    39         else
    40             ans2[cnt2].nex=ans[(i-2)*k+1].add;
    41     }
    42     for(int i=1;i<=cnt2;++i){
    43         if(i<cnt2)
    44             printf("%05d %d %05d
    ",ans2[i].add,ans2[i].data,ans2[i].nex);
    45         else
    46             printf("%05d %d -1",ans2[i].add,ans2[i].data);
    47     }
    48     return 0;
    49 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    hadoop 环境配置
    批量生成不同尺寸的图片
    如何生成publish windows app 用到的 pfx 文件
    MVC项目用Windsor注入
    UWP textbox 只能输入数字
    power shell upload file to azure storage
    Checkbox can't checked
    安装部署 Goaccess
    阿里云OSS的Bucket容量大小采集
    1. Nagios和 NagiosQL安装及配置
  • 原文地址:https://www.cnblogs.com/ldudxy/p/12255723.html
Copyright © 2011-2022 走看看