# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
198613 | 2020-01-26T23:15:39 Z | ijxjdjd | Bitaro the Brave (JOI19_ho_t1) | Java 11 | 0 ms | 0 KB |
package Tasks; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BitaroTheBrave { static BufferedReader fin = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; public static void main(String[] args) throws IOException { st = new StringTokenizer(fin.readLine()); int H = Integer.parseInt(st.nextToken()); int W = Integer.parseInt(st.nextToken()); char[][] board = new char[H][W]; for (int i = 0; i < H; i++) { board[i] = fin.readLine().toCharArray(); } int[] countI = new int[W]; int[] countO = new int[H]; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (board[i][j] == 'O') { countO[i]++; } else if (board[i][j] == 'I') { countI[j]++; } } } long res = 0; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (board[i][j] == 'J') { res += countI[j]*countO[i]; } else if (board[i][j] == 'O') { countO[i]--; } else { countI[j]--; } } } System.out.println(res); } }