miércoles, 7 de mayo de 2014

Iniciando en la Programación Competitiva

¿Qué es la programación competitiva?
• Por «programación competitiva» entendemos todo lo relacionado a las competencias de programación, especialmente las que se rigen bajo  el estilo de la competencia del ACM ICPC.

Comentario Personal: Una competencia de programación es una de las experiencias que ha hecho afinar mis habilidades como programador. Soy un principiante en la materia pero puedo describir esta experiencia como un reto que muchos disfrutarían.

¿Cómo se vive una competencia o una maratón de programación?
•  Hay que aclarar algunos aspectos primero, como lo son las reglas que se llevan a cabo en las maratones, algunas de ellas es que una competencia se desarrolla por grupos máximo de tres personas en un solo computador; Se enfrentarán a un set de ejercicios (enunciados en el idioma ingles en general) y el objetivo es desarrollar lo allí planteado respetando las entradas que exija el ejercicio y las salidas que el mismo demanda.

La experiencia es genial, sentir el reto de cada ejercicio, llegar a la solución, se encuentran las debilidades en desarrollo, se trabaja con el tiempo, y lo mejor por cada ejercicio es un aprendizaje más.
EJEMPLO:
Como se puede observar este ejercicio solicita la suma entre dos valores que ingresan separados por un espacio; para lo cual mi solución en lenguaje de programación java es:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

/**
 *
 * @author OSCAR
 */
public class Main {

    public static void main(String[] args) throws IOException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        String linea=br.readLine();
        while(linea!=null){
            StringTokenizer tz = new StringTokenizer(linea);
            System.out.println(Integer.parseInt(tz.nextToken())+Integer.parseInt(tz.nextToken()));
            linea=br.readLine();
        }
    }
}

(Puede que el código que uno suba se juzgue como "Acepted" que significa que el código enviado ha solucionado el problema y suma puntos en ranking personal; también puede ser juzgado de otras maneras)

En la próxima entrada veremos algunos jueces donde los maratonistas se entrenan y su sistema de calificación.

No hay comentarios:

Publicar un comentario