Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
再次TLE……不知道还能怎么优化?代码如下: import java.io.*; import java.util.*; import java.text.*; import java.math.*; public class Main { public static void main(String[] args) throws IOException { System.setIn(new FileInputStream("in.txt")); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String str; String dir = "SWNE"; char[] color = { 'C', 'D', 'S', 'H'}; char[] value = { '0', '0', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A'}; String[] player = { "South player:", "West player:", "North player:", "East player:"}; int[][] deck = new int[4][13]; int[] p; int s, s1, s2, s3, s4; while ( (str = in.readLine()).charAt(0) != '#') { p = new int[4]; s = dir.indexOf(str); s1 = (s + 1) % 4; s2 = (s + 2) % 4; s3 = (s + 3) % 4; s4 = s; str = in.readLine() + in.readLine(); for (int i = 0; i < 104; i += 8) { deck[s1][i / 8] = change(str.charAt(i), str.charAt(i + 1)); deck[s2][i / 8] = change(str.charAt(i + 2), str.charAt(i + 3)); deck[s3][i / 8] = change(str.charAt(i + 4), str.charAt(i + 5)); deck[s4][i / 8] = change(str.charAt(i + 6), str.charAt(i + 7)); } for (int i = 0; i < 4; i++) { Arrays.sort(deck[i]); } for (int i = 0; i < 4; i++) { System.out.println(player[i]); System.out.println( "+---+---+---+---+---+---+---+---+---+---+---+---+---+"); for (int j = 0; j < 13; j++) { System.out.print("|"); System.out.print(value[deck[i][j] % 100]); System.out.print(" "); System.out.print(value[deck[i][j] % 100]); } System.out.println("|"); for (int j = 0; j < 13; j++) { System.out.print("| "); System.out.print(color[deck[i][j] / 100]); System.out.print(" "); } System.out.println("|"); for (int j = 0; j < 13; j++) { System.out.print("|"); System.out.print(value[deck[i][j] % 100]); System.out.print(" "); System.out.print(value[deck[i][j] % 100]); } System.out.println("|"); System.out.println( "+---+---+---+---+---+---+---+---+---+---+---+---+---+"); } } in.close(); } public static int change(char c, char v) { int val = 0; if (c == 'H') { val = 300; } else if (c == 'S') { val = 200; } else if (c == 'D') { val = 100; } if (v <= '9') { val += v - '0'; } else if (v == 'A') { val += 14; } else if (v == 'K') { val += 13; } else if (v == 'Q') { val += 12; } else if (v == 'J') { val += 11; } else { val += 10; } return val; } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator