2010年10月1日金曜日

PKU Judge Online 2136 Vertical Histogram

■2136 Vertical Histogram

□Problem
省略.

□Solution
省略.

□Code
  1. package p2136;  
  2.   
  3. import java.util.*;  
  4. import java.lang.*;  
  5. import java.math.*;  
  6. import java.io.*;  
  7.   
  8. import static java.lang.Math.*;  
  9. import static java.util.Arrays.*;  
  10.   
  11. // AC  
  12. public class Main{  
  13.   
  14.     Scanner sc=new Scanner(System.in);  
  15.   
  16.     final int INF=Integer.MAX_VALUE;  
  17.     final double EPS=1e-9;  
  18.   
  19.     void run(){  
  20.         int n='Z'-'A'+1;  
  21.         int[] a=new int[n];  
  22.   
  23.         for(int i=0; i<4; i++)  
  24.             for(char c : sc.nextLine().toCharArray())  
  25.                 if(Character.isUpperCase(c))  
  26.                     a[c-'A']++;  
  27.   
  28.         int max=0;  
  29.         for(int e : a)  
  30.             max=Math.max(max, e);  
  31.   
  32.         for(int j=max; j>0; j--){  
  33.             int last=0;  
  34.             for(int i=0; i<n; i++)  
  35.                 if(a[i]>=j)  
  36.                     last=i;  
  37.             for(int i=0; i<=last; i++){  
  38.                 print(a[i]>=j?"*":" ");  
  39.                 print(i==last?"":" ");  
  40.             }  
  41.             println("");  
  42.         }  
  43.         for(char c='A'; c<='Z'; c++)  
  44.             print(c+(c=='Z'?"":" "));  
  45.         println("");  
  46.     }  
  47.   
  48.     void print(String s){  
  49.         System.out.print(s);  
  50.     }  
  51.   
  52.     void println(String s){  
  53.         System.out.println(s);  
  54.     }  
  55.   
  56.     public static void main(String[] args){  
  57.         // System.setOut(new PrintStream(new BufferedOutputStream(System.out)));  
  58.         new Main().run();  
  59.     }  
  60. }  

0 件のコメント: