a2 rank213
感冒睡了一觉,结果回来脑袋比较清楚,出了两个
4
简单推了一下,最水的一个
8
按照我理解的点球规则,写了一个1y
然后在5和10之间我选择了10,因为10还是涉及足球规则(刚刚结束的世界杯的红黄牌新制),但最终感觉这个题目超烦,没出;
这次比赛,我再次感觉到以我现在的实力,比赛时只要把那些水题,胡搞题做出来了,就可以了!
保存第二个代码
import java.io.*; import java.util.Arrays; public class Main { public static int check(int homeCnt, int homeScore, int awayCnt, int awayScore) { if (homeCnt <= 5 && awayCnt <= 5) { if (homeScore - awayScore > 5 - awayCnt) return -1; else if (awayScore - homeScore > 5 - homeCnt) return 1; else return 0; } else { if (homeCnt == awayCnt) { if (homeScore > awayScore) return -1; else if (homeScore < awayScore) return 1; else return 0; } else return 0; } } public static void main(String[] args) throws IOException { StreamTokenizer in = new StreamTokenizer(new BufferedReader( new InputStreamReader(System.in))); in.nextToken(); int t = (int) in.nval; int cnt = 1; boolean[][] mat1 = new boolean[11][3]; boolean[][] mat2 = new boolean[11][3]; while (t-- != 0) { int ans = 0; for (int i = 0; i < 11; ++i) { for (int j = 0; j < 3; ++j) { in.nextToken(); mat1[i][j] = in.sval.equals("yes") ? true : false; } } for (int i = 0; i < 11; ++i) { for (int j = 0; j < 3; ++j) { in.nextToken(); mat2[i][j] = in.sval.equals("yes") ? true : false; } } // System.out.println("home"); // for (int i = 0; i < 11; ++i) { // System.out.println(Arrays.toString(mat1[i])); // } // System.out.println("away:"); // for (int i = 0; i < 11; ++i) { // System.out.println(Arrays.toString(mat2[i])); // } int homeCnt = 0, awayCnt = 0, homeScore = 0, awayScore = 0; boolean flag = false; while (true) { outer: for (int j = 0; j < 3; ++j) { inner: for (int i = 0; i < 11; ++i) { if (mat1[i][j]) { homeScore++; homeCnt++; ans = check(homeCnt, homeScore, awayCnt, awayScore); if (ans != 0) { flag = true; break outer; } } else { // homeScore++; homeCnt++; ans = check(homeCnt, homeScore, awayCnt, awayScore); if (ans != 0) { flag = true; break outer; } } if (mat2[i][j]) { awayScore++; awayCnt++; ans = check(homeCnt, homeScore, awayCnt, awayScore); if (ans != 0) { flag = true; break outer; } } else { // awayScore++; awayCnt++; ans = check(homeCnt, homeScore, awayCnt, awayScore); if (ans != 0) { flag = true; break outer; } } } } if (flag) break; } if (ans == -1) { System.out.println("Match " + cnt++ + ":"); System.out.println("Winner: home"); System.out.println("Score: " + homeScore + ":" + awayScore); } else { System.out.println("Match " + cnt++ + ":"); System.out.println("Winner: away"); System.out.println("Score: " + homeScore + ":" + awayScore); } } } }