java 2017 NCPC问题G Chaining

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 2017 NCPC问题G Chaining相关的知识,希望对你有一定的参考价值。

import java.math.BigInteger;
import java.util.*;
public class Main {

	public static void main(String[] args) {
		
		Scanner scn=new Scanner(System.in);
		while(true) {
			int n=Integer.parseInt(scn.nextLine()),zero=0;
			if(n==0)
				break;
			Map <String,Integer>map=new TreeMap<>();
			String arr[]=scn.nextLine().split(" ");
			for(int i=0;i<n;i++) {
				if(arr[i].equals("0")) {
					map.put(arr[i]+zero, i+1);
					zero++;
				}else {
					map.put(arr[i], i+1);
				}
			}
			System.out.print(zero);
			for(int i=0;i<zero;i++) {
				int count=0;
				String s="0"+i,first="";
				while(true) {
					if(map.get(s)==null){
						first=s;
						break;
					}else {
						s=Integer.toString(map.get(s));
						count++;
					}
				}
				System.out.print(" "+first+" "+count);	
			}
			System.out.println();
		}
	}
/*題目:2017 NCPC Problem G Chaining
    作者:1010
    時間:西元 2017 年10 月 */
}

以上是关于java 2017 NCPC问题G Chaining的主要内容,如果未能解决你的问题,请参考以下文章

2015 NCPC Problem G-Goblin Garden Guards

2019.09.29NCPC2018

2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)

NCPC 2015 October 10, 2015 Problem D

NCPC 2016:简单题解

NCPC2016-E-Exponial