CSES - KILO 2019 3/5 - Results
Submission details
Task:Taulukot
Sender:odporkka
Submission time:2019-05-15 18:37:28 +0300
Language:Java
Status:READY
Result:55
Feedback
groupverdictscore
#1ACCEPTED26
#2ACCEPTED29
#30
Test results
testverdicttimegroup
#1ACCEPTED0.24 s1details
#2ACCEPTED0.24 s1details
#3ACCEPTED0.24 s1details
#4ACCEPTED0.23 s1details
#5ACCEPTED0.24 s1details
#6ACCEPTED0.31 s2details
#7ACCEPTED0.30 s2details
#8ACCEPTED0.30 s2details
#9ACCEPTED0.31 s2details
#10ACCEPTED0.31 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Taulukot {

	static int n;
	static List<Integer> primes;

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String input = s.nextLine();
		n = Integer.parseInt(input);
		s.close();
		
		primes = sieveOfEratosthenes(n + n);

		HashMap<Integer, Integer> ans = new HashMap<>();
		solve(ans);
		for (int k : ans.keySet()) {
			System.out.print(k + " ");
		}
		System.out.print("\n");
		for (int v : ans.values()) {
			System.out.print(v + " ");
		}
		System.out.print("\n");
	}

	private static boolean solve(HashMap<Integer, Integer> tables) {
		if (tables.size() == n) return true;
		for (int k = n; k > 0; k--) {
			for (int v = n; v > 0; v--) {
				if (!tables.containsKey(k) && !tables.containsValue(v) && primes.contains(k + v)) {
					tables.put(k, v);
					if (solve(tables)) {
						return true;
					}
					tables.remove(k);
				}			
			}
		}
		return true;
	}

	public static List<Integer> sieveOfEratosthenes(int n) {
		boolean prime[] = new boolean[n + 1];
		Arrays.fill(prime, true);
		for (int p = 2; p * p <= n; p++) {
			if (prime[p]) {
				for (int i = p * 2; i <= n; i += p) {
					prime[i] = false;
				}
			}
		}
		List<Integer> primeNumbers = new LinkedList<>();
		for (int i = 2; i <= n; i++) {
			if (prime[i]) {
				primeNumbers.add(i);
			}
		}
		return primeNumbers;
	}
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1

correct output


user output


Test 2

Group: 1

Verdict: ACCEPTED

input
4

correct output
1 2 3 4 
2 1 4 3 

user output
1 2 3 4 
2 1 4 3 

Test 3

Group: 1

Verdict: ACCEPTED

input
5

correct output
1 2 3 4 5 
1 5 4 3 2 

user output
1 2 3 4 5 
1 5 4 3 2 

Test 4

Group: 1

Verdict: ACCEPTED

input
8

correct output
1 2 3 4 5 6 7 8 
2 1 4 3 8 7 6 5 

user output
1 2 3 4 5 6 7 8 
2 1 4 3 8 7 6 5 

Test 5

Group: 1

Verdict: ACCEPTED

input
9

correct output
1 2 3 4 5 6 7 8 9 
1 5 4 3 2 7 6 9 8 

user output
1 2 3 4 5 6 7 8 9 
1 5 4 3 2 7 6 9 8 

Test 6

Group: 2

Verdict: ACCEPTED

input
77

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 7

Group: 2

Verdict: ACCEPTED

input
70

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 8

Group: 2

Verdict: ACCEPTED

input
72

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 9

Group: 2

Verdict: ACCEPTED

input
86

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 10

Group: 2

Verdict: ACCEPTED

input
68

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 11

Group: 3

Verdict:

input
90764

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 12

Group: 3

Verdict:

input
97976

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 13

Group: 3

Verdict:

input
96762

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 14

Group: 3

Verdict:

input
94823

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 15

Group: 3

Verdict:

input
91479

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)