Submission #68234


Source Code Expand

import java.util.HashSet;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Stack;

public class Main {

	static final int firstN = 0, lastN = 1;
	public static void main(String[] args) {
		doIt();
	}

	static void doIt(){
		Scanner sc = new Scanner(System.in);
		String first = sc.next();
		String last = sc.next();
		int n = sc.nextInt();
		String[] ary = new String[n + 2];
		ary[firstN] = first;
		ary[lastN] = last;
		int[][] diff = new int[n + 2][n + 2];
		int[] back = new int[n + 2];
		boolean bOK = false;
		for(int i = 2; i < n + 2; i++) ary[i] = sc.next();
		if(first.equals(last)){
			System.out.println(0);
			System.out.println(first);
			System.out.println(last);
			return;
		}
		for(int i = 0; i < n + 2; i++){
			for(int j = i; j < n + 2; j++) diff[i][j] = diff[j][i] = dif(ary[i], ary[j]);
		}
		HashSet<Integer> hash = new HashSet<Integer>();
		LinkedList<Integer> queue = new LinkedList<Integer>();
		queue.add(firstN);
		hash.add(firstN);
		back[firstN] = -1;
		int c = 0;
		while(!queue.isEmpty()){
			if(n < c) break;
			int s = queue.size();
			for(int i = 0; i < s; i++){
				int ti = queue.poll();
				for(int j = 0; j < n + 2; j++){
					if(diff[ti][j] == 1){
						if(!hash.contains(j)){
							queue.add(j);
							back[j] = ti;
							hash.add(j);
						}
						if(diff[j][lastN] == 1){bOK = true;break;}
					}
				}
			}
			c++;
		}
		if(bOK){
			Stack<Integer> stack = new Stack<Integer>();
			int t = lastN;
			while(t != -1){
				stack.push(t);
				t = back[t];
			}
			System.out.println(stack.size() - 2);
			while(!stack.isEmpty()) System.out.println(ary[stack.pop()]);
		}
		else System.out.println(-1);
	}
	static int dif(String s1, String s2){
		int ret = 0;
		for(int i = 0; i < s1.length(); i++) if(s1.charAt(i) != s2.charAt(i)) ret++;
		return ret;
	}

}

Submission Info

Submission Time
Task C - ダブレット
User mkiken
Language Java (OpenJDK 1.7.0)
Score 100
Code Size 1896 Byte
Status AC
Exec Time 756 ms
Memory 36480 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 86
Set Name Test Cases
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_rand_00.txt, 01_rand_01.txt, 01_rand_02.txt, 01_rand_03.txt, 01_rand_04.txt, 01_rand_05.txt, 01_rand_06.txt, 01_rand_07.txt, 01_rand_08.txt, 01_rand_09.txt, 01_rand_10.txt, 01_rand_11.txt, 01_rand_12.txt, 01_rand_13.txt, 01_rand_14.txt, 01_rand_15.txt, 01_rand_16.txt, 01_rand_17.txt, 01_rand_18.txt, 01_rand_19.txt, 02_maxrand_00.txt, 02_maxrand_01.txt, 02_maxrand_02.txt, 02_maxrand_03.txt, 02_maxrand_04.txt, 02_maxrand_05.txt, 02_maxrand_06.txt, 02_maxrand_07.txt, 02_maxrand_08.txt, 02_maxrand_09.txt, 02_maxrand_10.txt, 02_maxrand_11.txt, 02_maxrand_12.txt, 02_maxrand_13.txt, 02_maxrand_14.txt, 02_maxrand_15.txt, 02_maxrand_16.txt, 02_maxrand_17.txt, 02_maxrand_18.txt, 02_maxrand_19.txt, 03_long_00.txt, 03_long_01.txt, 03_long_02.txt, 03_long_03.txt, 03_long_04.txt, 03_long_05.txt, 03_long_06.txt, 03_long_07.txt, 03_long_08.txt, 03_long_09.txt, 03_long_10.txt, 03_long_11.txt, 03_long_12.txt, 03_long_13.txt, 03_long_14.txt, 03_long_15.txt, 03_long_16.txt, 03_long_17.txt, 03_long_18.txt, 03_long_19.txt, 04_manygroup_00.txt, 04_manygroup_01.txt, 04_manygroup_02.txt, 04_manygroup_03.txt, 04_manygroup_04.txt, 04_manygroup_05.txt, 04_manygroup_06.txt, 04_manygroup_07.txt, 04_manygroup_08.txt, 04_manygroup_09.txt, 04_manygroup_10.txt, 04_manygroup_11.txt, 04_manygroup_12.txt, 04_manygroup_13.txt, 04_manygroup_14.txt, 04_manygroup_15.txt, 04_manygroup_16.txt, 04_manygroup_17.txt, 04_manygroup_18.txt, 04_manygroup_19.txt, 10_min_01.txt, 10_min_02.txt, 10_min_03.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 459 ms 20276 KB
00_sample_02.txt AC 438 ms 20192 KB
00_sample_03.txt AC 446 ms 20272 KB
01_rand_00.txt AC 600 ms 29396 KB
01_rand_01.txt AC 479 ms 21616 KB
01_rand_02.txt AC 622 ms 28828 KB
01_rand_03.txt AC 493 ms 22884 KB
01_rand_04.txt AC 539 ms 26076 KB
01_rand_05.txt AC 453 ms 20684 KB
01_rand_06.txt AC 626 ms 30800 KB
01_rand_07.txt AC 583 ms 25748 KB
01_rand_08.txt AC 481 ms 22632 KB
01_rand_09.txt AC 592 ms 26316 KB
01_rand_10.txt AC 626 ms 28104 KB
01_rand_11.txt AC 645 ms 29552 KB
01_rand_12.txt AC 609 ms 27168 KB
01_rand_13.txt AC 697 ms 35408 KB
01_rand_14.txt AC 495 ms 26292 KB
01_rand_15.txt AC 527 ms 24732 KB
01_rand_16.txt AC 500 ms 25556 KB
01_rand_17.txt AC 641 ms 32448 KB
01_rand_18.txt AC 464 ms 21556 KB
01_rand_19.txt AC 673 ms 33012 KB
02_maxrand_00.txt AC 631 ms 29852 KB
02_maxrand_01.txt AC 636 ms 30040 KB
02_maxrand_02.txt AC 522 ms 26576 KB
02_maxrand_03.txt AC 639 ms 29944 KB
02_maxrand_04.txt AC 547 ms 26888 KB
02_maxrand_05.txt AC 670 ms 33972 KB
02_maxrand_06.txt AC 634 ms 29460 KB
02_maxrand_07.txt AC 639 ms 30336 KB
02_maxrand_08.txt AC 645 ms 29808 KB
02_maxrand_09.txt AC 691 ms 36112 KB
02_maxrand_10.txt AC 649 ms 29788 KB
02_maxrand_11.txt AC 641 ms 30444 KB
02_maxrand_12.txt AC 627 ms 29476 KB
02_maxrand_13.txt AC 677 ms 34252 KB
02_maxrand_14.txt AC 674 ms 33636 KB
02_maxrand_15.txt AC 633 ms 29368 KB
02_maxrand_16.txt AC 653 ms 29232 KB
02_maxrand_17.txt AC 532 ms 27176 KB
02_maxrand_18.txt AC 663 ms 35352 KB
02_maxrand_19.txt AC 541 ms 26896 KB
03_long_00.txt AC 668 ms 29872 KB
03_long_01.txt AC 681 ms 30740 KB
03_long_02.txt AC 564 ms 26904 KB
03_long_03.txt AC 556 ms 27128 KB
03_long_04.txt AC 756 ms 34964 KB
03_long_05.txt AC 717 ms 35352 KB
03_long_06.txt AC 536 ms 27184 KB
03_long_07.txt AC 720 ms 36480 KB
03_long_08.txt AC 667 ms 30916 KB
03_long_09.txt AC 711 ms 35152 KB
03_long_10.txt AC 682 ms 34572 KB
03_long_11.txt AC 644 ms 30280 KB
03_long_12.txt AC 503 ms 26424 KB
03_long_13.txt AC 548 ms 27128 KB
03_long_14.txt AC 702 ms 33640 KB
03_long_15.txt AC 672 ms 30156 KB
03_long_16.txt AC 705 ms 36124 KB
03_long_17.txt AC 553 ms 26844 KB
03_long_18.txt AC 559 ms 26904 KB
03_long_19.txt AC 699 ms 34332 KB
04_manygroup_00.txt AC 624 ms 29888 KB
04_manygroup_01.txt AC 638 ms 30432 KB
04_manygroup_02.txt AC 653 ms 34748 KB
04_manygroup_03.txt AC 687 ms 35796 KB
04_manygroup_04.txt AC 634 ms 29956 KB
04_manygroup_05.txt AC 648 ms 33076 KB
04_manygroup_06.txt AC 575 ms 28760 KB
04_manygroup_07.txt AC 662 ms 35296 KB
04_manygroup_08.txt AC 675 ms 34872 KB
04_manygroup_09.txt AC 647 ms 34348 KB
04_manygroup_10.txt AC 641 ms 29124 KB
04_manygroup_11.txt AC 632 ms 30248 KB
04_manygroup_12.txt AC 638 ms 29712 KB
04_manygroup_13.txt AC 673 ms 34008 KB
04_manygroup_14.txt AC 636 ms 29540 KB
04_manygroup_15.txt AC 629 ms 29760 KB
04_manygroup_16.txt AC 620 ms 30200 KB
04_manygroup_17.txt AC 657 ms 35376 KB
04_manygroup_18.txt AC 635 ms 29560 KB
04_manygroup_19.txt AC 622 ms 29680 KB
10_min_01.txt AC 437 ms 20148 KB
10_min_02.txt AC 441 ms 20204 KB
10_min_03.txt AC 464 ms 20276 KB