Advertisement
Filip_Markoski

First Midterm.9 Card Trick (Solved)

Oct 30th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.LinkedList;
  5. import java.util.Queue;
  6. import java.util.Stack;
  7.  
  8. public class card_trick {
  9.     public static int count(int N){
  10.         int count = 0;
  11.         Stack<Integer> hand = new Stack<>();
  12.         Queue<Integer> deck = new LinkedList<>();
  13.  
  14.         for (int i = 1; i < 52; i++) {
  15.             deck.add(i);
  16.         }
  17.  
  18.         while (deck.peek() != N){
  19.             for (int i = 0; i < 7; i++) {
  20.                 hand.push(deck.poll());
  21.             }
  22.             for (int i = 0; i < 7; i++) {
  23.                 Integer fromHand = hand.pop();
  24.                 Integer fromDeck = deck.poll();
  25.                 deck.add(fromHand);
  26.                 deck.add(fromDeck);
  27.             }
  28.             count++;
  29.         }
  30.  
  31.         return count;
  32.     }
  33.  
  34.     public static void main(String[] args) throws NumberFormatException, IOException {
  35.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );
  36.         System.out.println(count(Integer.parseInt(br.readLine())));
  37.     }
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement