Task: | Card Trick |
Sender: | Koodi Ilolle |
Submission time: | 2017-09-19 17:31:23 +0300 |
Language: | Java |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.14 s | details |
#2 | ACCEPTED | 0.12 s | details |
#3 | ACCEPTED | 0.15 s | details |
#4 | ACCEPTED | 0.13 s | details |
#5 | ACCEPTED | 0.12 s | details |
#6 | ACCEPTED | 0.12 s | details |
#7 | ACCEPTED | 0.12 s | details |
#8 | ACCEPTED | 0.10 s | details |
#9 | ACCEPTED | 0.16 s | details |
#10 | ACCEPTED | 0.14 s | details |
#11 | ACCEPTED | 0.12 s | details |
#12 | ACCEPTED | 0.16 s | details |
#13 | ACCEPTED | 0.11 s | details |
Code
import java.util.*; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author henpeura */ public class CardTrick { public static void main(String[] args) { IO io = new IO(); int length = io.nextInt(); io.println(cardDeck(length)); io.close(); } /** * Kasataan pakka. * * @param length Pakassa olevien patakorttien lukumäärä * @return Pakan järjestys */ private static String cardDeck(int length) { ArrayDeque<Integer> deck = new ArrayDeque<>(); int card = length - 1; // Pistä pakkaan viimeinen kortti deck.addLast(length); while (card != 0) { // Lisää toinen kortti pakkaan deck.addFirst(card); // Shuffle deck = shuffle(deck, card); card--; } StringBuilder sb = new StringBuilder(); for (Integer integer : deck) { sb.append(integer).append(" "); } return sb.toString().trim(); } private static ArrayDeque<Integer> shuffle(ArrayDeque<Integer> deck, int n) { for (int i = 0; i < n; i++) { int card = deck.removeLast(); deck.addFirst(card); } return deck; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 2
Verdict: ACCEPTED
input |
---|
2 |
correct output |
---|
2 1 |
user output |
---|
2 1 |
Test 3
Verdict: ACCEPTED
input |
---|
3 |
correct output |
---|
3 1 2 |
user output |
---|
3 1 2 |
Test 4
Verdict: ACCEPTED
input |
---|
4 |
correct output |
---|
2 1 4 3 |
user output |
---|
2 1 4 3 |
Test 5
Verdict: ACCEPTED
input |
---|
5 |
correct output |
---|
3 1 4 5 2 |
user output |
---|
3 1 4 5 2 |
Test 6
Verdict: ACCEPTED
input |
---|
6 |
correct output |
---|
4 1 6 3 2 5 |
user output |
---|
4 1 6 3 2 5 |
Test 7
Verdict: ACCEPTED
input |
---|
7 |
correct output |
---|
5 1 3 4 2 6 7 |
user output |
---|
5 1 3 4 2 6 7 |
Test 8
Verdict: ACCEPTED
input |
---|
8 |
correct output |
---|
3 1 7 5 2 6 8 4 |
user output |
---|
3 1 7 5 2 6 8 4 |
Test 9
Verdict: ACCEPTED
input |
---|
9 |
correct output |
---|
7 1 8 6 2 9 4 5 3 |
user output |
---|
7 1 8 6 2 9 4 5 3 |
Test 10
Verdict: ACCEPTED
input |
---|
10 |
correct output |
---|
9 1 8 5 2 4 7 6 3 10 |
user output |
---|
9 1 8 5 2 4 7 6 3 10 |
Test 11
Verdict: ACCEPTED
input |
---|
11 |
correct output |
---|
5 1 6 4 2 10 11 7 3 8 9 |
user output |
---|
5 1 6 4 2 10 11 7 3 8 9 |
Test 12
Verdict: ACCEPTED
input |
---|
12 |
correct output |
---|
7 1 4 9 2 11 10 8 3 6 5 12 |
user output |
---|
7 1 4 9 2 11 10 8 3 6 5 12 |
Test 13
Verdict: ACCEPTED
input |
---|
13 |
correct output |
---|
4 1 13 11 2 10 6 7 3 5 12 9 8 |
user output |
---|
4 1 13 11 2 10 6 7 3 5 12 9 8 |