import java.util.Scanner; import java.text.DecimalFormat; /** * Created by Matt, Yubo, and Shreyas (sp?) on 3/30/15. */ public class ParlayWager { Scanner in = new Scanner(System.in); public static void main(String[] args){ new ParlayWager().solve(); } void solve(){ int T = in.nextInt(); System.out.println(""); // iterate through test cases for (int i = 0; i < T; i++) { // System.out.println("Test case: " + (i+1)); float wager = in.nextFloat(); int count = in.nextInt(); boolean win = true; // iterate through each wager for (int j = 0; j < count; j++) { // System.out.println("Bet: " + (j+1)); float line = in.nextFloat(); String result = in.next(); if (result.equals("Loss")) { win = false; } else if (result.equals("Tie")) { continue; } else { wager += winnings(line, wager); } } if (win) { // handle currency formatting DecimalFormat df = new DecimalFormat("###,###,###.00"); if (wager > ((float) 1000000.00)) { wager = (float) 1000000.00; } System.out.println("$" + df.format(wager)); } else { System.out.println("$0.00"); } } System.out.println(""); } float winnings(float line, float wager) { float mult; if (line > 0) { mult = line / 100; } else { mult = 100 / (line * -1); } mult = (float) (Math.floor(1000*mult) / ((float) 1000)); float win = wager * mult; return (float) (Math.floor(100*win) / ((float) 100)); } }