AOJ0103 Baseball Simulation

問題リンク Baseball Simulation

  • 解法

進塁するときシングルヒットしかないので、2塁に人がいたら1塁にもいるし、3塁に人がいれば満塁です。なので、走者の数だけ覚えてればいいです(1と3塁だけに人がいるみたいなことは起こり得ない)。
得点は、満塁のときにシングルヒットで1点。ホームランのときに走者の数+1点が入ります。

  • ソース
import java.util.Scanner;

//Baseball Simulation
public class AOJ0103 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		while(t--!=0){
			int run = 0;
			int p = 0;
			int out = 0;
			while(out < 3){
				String c = sc.next();
				if(c.equals("HIT")){
					if(run<3)run++;
					else p++;
				}
				else if(c.equals("HOMERUN")){
					p += run+1;
					run = 0;
				}
				else{
					out++;
				}
			}
			System.out.println(p);
		}
	}
}