UVA 10646 – What is the Card?

Pretty straightforward. Don’t even need to use this Card class that I have been using for the past few questions!

import java.io.PrintWriter;
import java.util.Scanner;

/**
 * 
 * @author Sanchit M. Bhatnagar
 * @see http://uhunt.felix-halim.net/id/74004
 * 
 */
public class P10646 {

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

    int N = sc.nextInt();
    for (int zz = 1; zz <= N; zz++) {
      String[] deck = new String[52];
      for (int i = 0; i < 52; i++) {
        deck[i] = sc.next();
      }
      int Y = 0;
      int last = -1;
      int count = 0;
      for (int i = 25; i >= 0 && count < 3; i--) {
        int val = getVal(deck[i]);
        Y += val;
        i -= (10 - val);
        count++;
        last = i;
      }

      if (Y <= last) {
        out.println("Case " + zz + ": " + deck[Y - 1]);
      } else {
        out.println("Case " + zz + ": " + deck[26 + (Y - last) - 1]);
      }
    }
    sc.close();
    out.close();
  }

  private static int getVal(String card) {
    char c = card.charAt(0);
    if (c >= '2' && c <= '9') {
      return Integer.parseInt(c + "");
    }
    return 10;
  }
}

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.