Submission #1083793

#TimeUsernameProblemLanguageResultExecution timeMemory
1083793bvdBitaro the Brave (JOI19_ho_t1)Java
100 / 100
272 ms33448 KiB
import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.util.StringTokenizer; public class joi2019_ho_t1 { private static class Kattio extends PrintWriter { public Kattio(InputStream i) { super(new BufferedOutputStream(System.out)); r = new BufferedReader(new InputStreamReader(i)); } public Kattio(InputStream i, OutputStream o) { super(new BufferedOutputStream(o)); r = new BufferedReader(new InputStreamReader(i)); } public boolean hasMoreTokens() { return peekToken() != null; } public int getInt() { return Integer.parseInt(nextToken()); } public double getDouble() { return Double.parseDouble(nextToken()); } public long getLong() { return Long.parseLong(nextToken()); } public String getWord() { return nextToken(); } private BufferedReader r; private String line; private StringTokenizer st; private String token; private String peekToken() { if (token == null) try { while (st == null || !st.hasMoreTokens()) { line = r.readLine(); if (line == null) return null; st = new StringTokenizer(line); } token = st.nextToken(); } catch (IOException e) { } return token; } private String nextToken() { String ans = peekToken(); token = null; return ans; } } public static void main(String[] args) { try (Kattio io = new Kattio(System.in, System.out)) { int n = io.getInt(); int m = io.getInt(); String[] table = new String[n]; for (int i=0; i<n; ++i) { table[i] = io.getWord(); } long[] cntRow = new long[m]; int[] cntCol = new int[n]; long result = 0; for (int i=n-1; i>=0; --i) { for (int j=m-1; j>=0; --j) { switch (table[i].charAt(j)) { case 'O': cntCol[i]++; break; case 'I': cntRow[j]++; break; default: result += cntRow[j] * cntCol[i]; } } } io.println(result); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...