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(); // iterate through test cases for (int i = 0; i < T; i++) { // System.out.println("Test case: " + (i+1)); double wager = in.nextDouble(); int count = in.nextInt(); boolean win = true; // iterate through each wager for (int j = 0; j < count; j++) { // System.out.println("Bet: " + (j+1)); double line = in.nextDouble(); 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 > ((double) 1000000.00)) { wager = (double) 1000000.00; } System.out.println("$" + df.format(wager)); } else { System.out.println("$0.00"); } } } double winnings(double line, double wager) { double mult; if (line > 0) { mult = line / 100; } else { mult = 100 / (line * -1); } mult = Math.floor(1000*mult) / ((double) 1000); double win = wager * mult; return Math.floor(100*win) / ((double) 100); } }