Aquí están las instrucciones y reglas oficiales del concurso: Instrucciones y reglas del concurso de Olimpiadas de Computación de EE. UU.
Estas son las reglas oficiales con respecto a las presentaciones y calificaciones.
Aquí están las pautas básicas de puntuación y evaluación:
- ¿Cómo es el SAT un buen indicador de capacidad académica?
- ¿Es 1030 de 1600 una buena puntuación en el SAT?
- ¿Cuál es la mejor manera de prepararse para tomar el ACT por segunda vez?
- ¿Debo practicar el nuevo SAT solo de la junta de la universidad (ya que SAT es administrado por la junta de la universidad)?
- ¿El sistema educativo actual muestra una representación precisa de la inteligencia humana a través de sus pruebas y puntaje de calificación?
Cada concurso tiene típicamente 3-4 problemas a los que enviará programas de solución en C, C ++, Pascal, Java o Python. Los problemas son de naturaleza algorítmica, por lo que podrían ser necesarios algoritmos inteligentes y / o estructuras de datos para resolver todos los casos de prueba correctamente y dentro de los límites de tiempo. Su puntaje para cada problema depende de la cantidad de casos de entrada que su programa pueda resolver dentro del límite de tiempo (para la mayoría de los concursos, 2 segundos por caso de entrada para C, C ++ y Pascal, y 4 segundos por caso de entrada para Java y Python, aunque Cada concurso o problema puede usar límites ligeramente diferentes). Todas las declaraciones de problemas pretenden ser sencillas, sin “trucos ocultos” intencionales (sin embargo, tenga en cuenta que los conjuntos de datos legales pero complejos son un juego justo para probar). Los problemas están destinados a ser un reto; ¡rara vez es el caso de que una gran cantidad de competidores reciban puntajes casi perfectos!
Cuando envíe un programa, se ejecutará en una serie de casos de prueba de evaluación y para cada uno, recibirá comentarios, que se muestran en un cuadro de color: verde para el correcto y rojo para el incorrecto. Los envíos incorrectos se diferencian aún más por el tipo de problema: X (respuesta incorrecta), T (límite de tiempo excedido),! (error en tiempo de ejecución o límite de memoria excedido), E (archivo de salida vacío) o M (archivo de salida faltante). Si su programa no se compila, se le mostrarán los mensajes de error del compilador. El primer caso de prueba suele ser el mismo que el caso de muestra descrito en la declaración del problema, y debe resolverlo correctamente antes de recibir comentarios sobre los casos restantes (que no se revelan durante el concurso, aunque reciba comentarios sobre si Los resolviste o no). Los jueces se reservan el derecho de agregar o eliminar casos de prueba después del final del concurso, por lo que todavía vale la pena probar su programa, incluso si pasa todos los casos durante el concurso.
Si logra un puntaje particularmente alto (a menudo se requiere que sea un puntaje perfecto) durante un concurso, puede calificar para una promoción “en concurso”; de lo contrario, las promociones se otorgarán una vez que finalice el concurso a todos los participantes con puntajes superiores al umbral de promoción para ese concurso. Si recibe una promoción dentro del concurso, podrá comenzar a trabajar en el próximo concurso en cualquier momento dentro de la ventana más grande del concurso y con un temporizador completo; es decir, el tiempo que pasó en el concurso anterior no cuenta en comparación con el tiempo que tendrá que resolver el próximo concurso.
Aquí están los detalles técnicos que pueden afectar su puntaje:
- Su programa debe tener un tamaño inferior a 100.000 bytes y debe compilarse en 30 segundos o menos. A menos que se indique lo contrario, sus programas estarán limitados a aproximadamente 256 MB de uso total de memoria.
- No envíe programas que abran archivos de datos que no estén relacionados con la tarea del concurso en cuestión. Lea solo los archivos de entrada especificados y escriba solo los archivos de salida especificados. No utilice archivos de datos ‘temporales’.
- A menos que se indique lo contrario, los programas deben ser de naturaleza determinista y producir respuestas idénticas cada vez que se ejecuten con entradas o entradas idénticas. Los programas que no son deterministas pueden ser descalificados. Tenga en cuenta que aún se pueden ingresar programas basados en números aleatorios; deben usar una semilla fija para que obtengan la misma respuesta cada vez.
- A menos que se especifique lo contrario, NO se garantiza que todos los conjuntos de datos legales posibles sean perfectamente solucionables dentro del límite de tiempo (por ejemplo, podemos proporcionar una tarea en la que se esperan soluciones casi óptimas y recibir crédito parcial).
- Aunque normalmente diseñamos problemas para que las respuestas numéricas se ajusten a un entero estándar de 32 bits, esto no está garantizado. Si se necesitan tipos de datos más grandes (por ejemplo, enteros de 64 bits), a menudo tomamos nota de esto en la declaración del problema para su conveniencia, pero en última instancia, es su responsabilidad darse cuenta de cuándo son necesarios.
- Los programas que consistan esencialmente en nada más que declaraciones impresas serán descalificados. Si se proporciona retroalimentación para ciertos casos de prueba durante un concurso, NO debe enviar programas repetidos que consistan esencialmente en declaraciones impresas para aplicar ingeniería inversa a las entradas. Los programas deben calcular las respuestas solicitadas, no solo imprimir los resultados de una tabla de búsqueda precalculada.
- Los programas no deben detenerse y esperar a que se presionen las teclas. Por ejemplo, si llama al sistema (“pausa”) desde su código, el entorno de calificación podría agotar la espera de una pulsación de tecla inexistente, devolviendo un error como “archivo de salida vacío”.
- Para los idiomas compilados, no es necesario eliminar todas las advertencias del compilador. Los errores del compilador, por supuesto, evitarán que su sumisión sea juzgada.
- Si, con el tiempo, envía más de una solución para un solo problema, solo se calificará la última presentada. Eso significa que si encuentra un error después de su envío, puede volver a enviarlo. No hay penalización por volver a enviar (aunque, por favor, sea razonable con su tasa de reenvíos para reducir la carga en el servidor). Por supuesto, una vez que su temporizador haya caducado, no se podrán enviar más soluciones.
- Los jueces se reservan el derecho de aumentar los límites de tiempo o agregar / eliminar casos de prueba durante la calificación para producir resultados finales.
- La decisión de los jueces es definitiva.
Mi respuesta / tl; dr: el juez de calificaciones de USACO puntúa sus programas de un total de 1000 puntos. Todos los casos de prueba son iguales en puntos, independientemente de la dificultad y el tamaño. Los casos de prueba que pases te otorgarán puntos. Su puntaje final es la suma de todos los puntos que gana. Si obtiene el 50% de los casos de prueba, ganará 500 puntos en el concurso.
¡Te deseo la mejor de las suertes en tus concursos de programación competitivos!