Submission #1241378


Source Code Expand


import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	static class Node{
		private ArrayList<Node>next_list;

		boolean is_visited;
		int id;

		public static ArrayList<Integer>pass_list = new ArrayList<>();

		public Node(int id){
			this.id = id;
			next_list = new ArrayList<>();
			is_visited = false;
		}

		public void addNext(Node next){
			next_list.add(next);
		}

		public void searchPassBack(){
			is_visited = true;

			for(Node next : next_list){
				if(next.is_visited)continue;
				pass_list.add(next.id);
				next.searchPassBack();
				break;
			}
		}

		public void searchPassFront(){
			is_visited = true;

			for(Node next : next_list){
				if(next.is_visited)continue;
				pass_list.add(0,next.id);
				next.searchPassFront();
				break;
			}
		}
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int node_count = sc.nextInt();
		int pass_count = sc.nextInt();

		Node[] node_list = new Node[node_count];

		for(int i = 0;i < node_list.length;i++){
			node_list[i] = new Node(i + 1);
		}

		for(int i = 0;i < pass_count;i++){
			int j = sc.nextInt() - 1;
			int k = sc.nextInt() - 1;
			node_list[j].addNext(node_list[k]);
			node_list[k].addNext(node_list[j]);
		}

		Node.pass_list.add(1);
		node_list[0].searchPassBack();
		node_list[0].searchPassFront();
		ArrayList<Integer>pass = Node.pass_list;

		System.out.println(pass.size());
		for(int i = 0;i < pass.size();i++){
			System.out.print(pass.get(i));
			if(i != pass.size() - 1)System.out.print(" ");
		}
		System.out.println();
		sc.close();
	}
}

Submission Info

Submission Time
Task B - Hamiltonish Path
User aetenotanaka
Language Java8 (OpenJDK 1.8.0)
Score 500
Code Size 1670 Byte
Status AC
Exec Time 1286 ms
Memory 118472 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt
Case Name Status Exec Time Memory
sample_01.txt AC 94 ms 19668 KB
sample_02.txt AC 96 ms 21716 KB
sample_03.txt AC 95 ms 23892 KB
subtask_1_01.txt AC 560 ms 78388 KB
subtask_1_02.txt AC 403 ms 47384 KB
subtask_1_03.txt AC 577 ms 67344 KB
subtask_1_04.txt AC 556 ms 82492 KB
subtask_1_05.txt AC 555 ms 83832 KB
subtask_1_06.txt AC 609 ms 90640 KB
subtask_1_07.txt AC 550 ms 90188 KB
subtask_1_08.txt AC 564 ms 89160 KB
subtask_1_09.txt AC 1286 ms 118472 KB
subtask_1_10.txt AC 419 ms 48776 KB
subtask_1_11.txt AC 455 ms 48480 KB
subtask_1_12.txt AC 92 ms 21844 KB
subtask_1_13.txt AC 93 ms 19796 KB