Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.SortedMap;
- import java.util.StringTokenizer;
- import java.util.TreeMap;
- import java.util.Map.Entry;
- /*
- * Tuenti Contest
- * Challenge 15 - Artiste
- * Author: Pedro Antonio Pardal Jimena
- * Email: pardal@alu.uma.es
- */
- public class AlfonsoArtiste
- {
- private static int[][] initCanvas( int width, int height )
- {
- int[][] canvas = new int[width][height];
- for ( int i = 0; i < width; i++ )
- {
- for ( int j = 0; j < height; j++ )
- {
- canvas[i][j] = 1;
- }
- }
- return canvas;
- }
- private static void drawRectangle( int[][] canvas, int xstart, int ystart, int xend, int yend, int color )
- {
- for ( int i = xstart; i < xend; i++ )
- {
- for ( int j = ystart; j < yend; j++ )
- {
- canvas[i][j] = color;
- }
- }
- }
- private static String countColors( int[][] canvas, int width, int height )
- {
- SortedMap<Integer, Integer> freqs = new TreeMap<Integer, Integer>();
- for ( int i = 0; i < width; i++ )
- {
- for ( int j = 0; j < height; j++ )
- {
- int color = canvas[i][j];
- if ( !freqs.containsKey( color ) )
- freqs.put( color, 1 );
- else
- {
- int freq = freqs.get( color );
- freqs.put( color, freq + 1 );
- }
- }
- }
- StringBuffer sb = new StringBuffer();
- for ( Entry<Integer,Integer> entry : freqs.entrySet() )
- {
- sb.append( entry.getKey() + " " + entry.getValue() + " " );
- }
- return sb.toString().trim();
- }
- public static void main( String[] args )
- {
- try
- {
- BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) );
- while ( reader.ready() )
- {
- String line = reader.readLine();
- StringTokenizer st = new StringTokenizer( line, " " );
- int width = Integer.parseInt( st.nextToken() );
- int height = Integer.parseInt( st.nextToken() );
- int numberOfColors = Integer.parseInt( st.nextToken() );
- int[][] canvas = initCanvas( width, height );
- for ( int i = 0; i < numberOfColors; i++ )
- {
- int xstart = Integer.parseInt( st.nextToken() );
- int ystart = Integer.parseInt( st.nextToken() );
- int xend = Integer.parseInt( st.nextToken() );
- int yend = Integer.parseInt( st.nextToken() );
- int color = Integer.parseInt( st.nextToken() );
- drawRectangle( canvas, xstart, ystart, xend, yend, color );
- }
- String result = countColors( canvas, width, height );
- System.out.println( result );
- }
- }
- catch ( Exception e )
- {
- System.err.println( "Error en el formato de entrada." );
- e.printStackTrace( System.err );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement