1025

package com.company;

import java.util.Scanner;

public class Main {

    private static int m;

    public static void main(String[] args) {
    // write your code here
        Scanner sc=new Scanner(System.in);
        String nodex=sc.next();
        int n=sc.nextInt();
        int k=sc.nextInt();
        String[] first=new String[n];
        int[] num=new int[n];
        String[] last=new String[n];
        String[] address=new String[n+1];
        for (int i=0;i<n;i++){
            first[i]=sc.next();
            num[i]=sc.nextInt();
            last[i]=sc.next();
        }
        //获取链表address
        for (int i=1;i<n+1;i++){
            for (int j=0;j<n;j++){
                if (i==num[j]){
                    address[i-1]=first[j];
                }
                if (num[j]==n){
                    address[n]=last[j];
                }
            }
        }
        //接下来将address进行反转
        String[] reverse=new String[n+1];
        int count=(n+1)/k;
        for (int i=0;i<count;i++){
            for (int j=i*k,m=0;j<k*(i+1);j=j+1,m++){
                if (i+1<=count&&m<k){
                    reverse[j]= address[(i+1)*k-m-1];
                }

            }
            m=0;
        }
        //倒转数组reverse
        for (int i=k*count;i<n+1;i++){
            reverse[i]=address[i];
        }

        for (int j=0;j<n;j++){
            for (int i=0;i<n;i++){
                if (reverse[j]==first[i]){
                    System.out.println(reverse[j]+" "+num[i]+" "+reverse[j+1]);
                }

            }
        }
    }
}

 很痛苦的java选手,明明做出来了,却被判0分,一个超时,其它全错。牛客上一个正确,其它全超时!

猜你喜欢

转载自www.cnblogs.com/zhuzehua/p/9775910.html
今日推荐