Jump to content
Tharis

1º. Concurso de Programação Portugal-a-Programar

Recommended Posts

Tharis

1º. Concurso de Programação Portugal-a-Programar

Objectivos

  • Estimular o interesse dos alunos portugueses em concursos de programação
  • Divulgar as Olimpiadas Nacionais de Informática e oferecer um meio de treino que ajude a melhorar as competencias dos concorrentes

Link de Registo: http://concurso.portugal-a-programar.org

Link do Mooshak e Problemas em HTML e PDF: Estas hiperligações estarão disponíveis no link acima na altura apropriada.

Data de Registo: Sexta e Sábado, 23 e 24 de Janeiro de 2009

Data do Concurso: Sábado, 24 de Janeiro de 2009

Horário do Concurso: 10h00 - 23h59

(Todos os tempos são de acordo com o fuso horário de Portugal continental: UTC - Universal Time Coordinated)

Linguagens permitidas: C, C++, Pascal e Java

Compiladores: gcc 4.0.2, g++ 4.0.2, Free Pascal 2.2.0 e javac 1.6.0_07

Flags de Compilação:

  • gcc -Wall -lm $file
  • g++ -Wall $file
  • fpc -v0w -oprog $file
  • javac $file

Input e Output: stdin e stdout

Exemplos de Código

(Soma de dois números inteiros espaçados entre si fornecidos numa linha e output do resultado)

/* Exemplo em C */
#include <stdio.h>

int main() {
   int a,b,c;

   scanf("%d %d",&a,&b);
   c = a + b;

   printf("%d\n",c);
   return 0;
}
 
// Exemplo em C++
#include <iostream>
using namespace std;

int main() {
   int a,b,c;

   cin >> a >> b;
   c = a + b;

   cout << c << endl;
   return 0;
}
 
{ Exemplo em Pascal }
program exemplo;

var
 a,b,c: integer;

begin
 read(a,b);
 c := a + b;
 writeln(c);
end.
 
// Exemplo em Java
import java.io.*;
import java.util.*;

class exemplo {
 public static void main (String [] args) throws IOException {   
   BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
   StringTokenizer st = new StringTokenizer(f.readLine());

   int a = Integer.parseInt(st.nextToken());    // primeiro valor
   int b = Integer.parseInt(st.nextToken());    // segundo valor
   int c = a + b;
   System.out.println(c);
 }
}
Número de Problemas: 6

Pontuação: 100 pontos por problema

Visualização: Os problemas não estarão disponíveis no sistema Mooshak, como é costume neste tipo de concursos. Os problemas estarão disponíveis para download no formato PDF e numa página HTML

Suporte: Quaisquer questões/dúvidas sobre problemas deverão ser colocadas pelo sistema Mooshak. Não é garantido que haja suporte dos juízes durante toda a prova. Suporte adicional por membros da comunidade poderá ser encontrado no canal IRC #p@p na rede PTNet

Apenas será considerada a última submissão de cada concorrente em cada problema.

A classificação final é determinada pela soma dos pontos obtidos em cada problema. Em caso de empate, os concorrentes partilham o mesmo lugar. Os resultados devem sair no domingo ou na 2ª feira dependendo do número de concorrentes e verificações do que consta no regulamento.

Regulamento

  • Qualquer pessoa pode concorrer, mesmo não estando registada no fórum.
  • A apresentação a concurso deverá ser feita individualmente, no Mooshak do concurso durante o período de registo.
  • Todos os problemas deverão ser resolvidos individualmente. Quaisquer fraudes ou tentiva de fraudes durante o concurso serão punidas com exclusão do concorrente. Isto não impede que os problemas sejam discutidos por diferentes pessoas.
  • Questões/dúvidas relacionadas com os problemas do concurso deverão ser colocadas através do sistema Mooshak do concurso.
  • Apenas as linguagens de programação supra-referidas serão aceites.
  • A organização tem o direito de terminar o concurso ou anular a participação de qualquer concorrente.
  • O Direito de Cópia dos problemas do concurso está reservado aos seus autores. Os mesmos podem conceder o Direito de Cópia da forma que quiserem.
  • As classificações do concurso entrarão para um Ranking que será actualizado consoante as classificações de possíveis futuros concursos.
  • A organização do concurso tem o direito de anular a classificação de um concorrente.
  • A resolução dos casos omissos neste regulamento será da competência do juri.
  • As decisões do juri do concurso são irrevogáveis e delas não há recurso.

ATENÇÃO: Qualquer palhaçada onde por exemplo se incluam palavrões no nickname não serão toleradas.

Share this post


Link to post
Share on other sites
Tharis

Novidades

Devido ao facto de não ser possível correr um servidor SMTP (relacionado com o envio de emails) o dia de registo foi alterado para amanhã, dia 23 de Janeiro de 2009.

Poder-se-ão registar durante todo o dia de amanhã no seguinte endereço:

http://concurso.portugal-a-programar.org

Se houver dúvidas sobre a logística do concurso, por favor postar aqui.

Pedimos imensa desculpa,

Tharis

EDIT

Quem se registar amanhã terá a confirmação antes do concurso começar.

Quem se registar no dia de concurso, terá de esperar pela confirmação que poderá demorar, pelo que recomendamos que o registo seja feito durante o dia de amanhã.

EDIT2

Flags de Compilação Adicionadas

Share this post


Link to post
Share on other sites
vbmaster

Já me inscrevi e estou a falar com pessoal para fazer o mesmo, acho que vai ser muito positivo!

Nem sabia que isto ia acontecer!

Share this post


Link to post
Share on other sites
mogers

Bem-vindos ao fórum :)

Queria referir que os programas devem compilar sem erros e sem warnings, caso contrário a submissão não é aceite.

Os resultados devem sair no domingo ou na 2ª feira dependendo do número de concorrentes e verificações do que consta no regulamento.

Acima de tudo, esperamos que se divirtam a resolver os problemas :D

edit: Um aviso importante: durante o concurso os programas serão testados apenas com um dos exemplos dos enunciados. Por isso, o facto de um programa ser aceite não significa que tem os 100 pontos! Tal como nas olimpiadas de informática, após o concurso, os programas serão testados com vários casos de teste para determinar a pontuação final. Este facto é semelhante às ONI: http://www.dcc.fc.up.pt/oni/2008/index.cgi?page=faq

PS: rastamen16, andei no CIC durante o secundário. Quero ver do que são capazes :D


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
mogers

Já agora, para que querem a sigla da escola? vai estar agrupado por equipas ou algo do género?

Não, mas é habitual neste tipo de concursos como as ONI ou concursos universitários, os concorrentes estarem associados à instituição de ensino. Tal como diz no registo, quem não andar na escola ou por qualquer outro motivo não a pretenda colocar, tem o grupo "individual".


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
Baderous

O estilo dos problemas é o mesmo daqueles que existem nos concursos de programação em que vocês costumam participar? Vão colocar diferentes problemas consoante o grau de dificuldade?

Share this post


Link to post
Share on other sites
anolsi

O registo que fiz irá servir para futuros concursos? Ou terei de me registar de cada vez?


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
mogers

Sim, os problemas são do estilo das olimpiadas de informática. Tens aqui os problemas A, B e C da qualificação das ONI 2008, por exemplo.

Os problemas têm graus de dificuldade diferentes e dentro de cada problema para se obter os 100 pontos é preciso ter uma solução eficiente (os tempos de execução serão divulgados junto com os problemas). Contudo, são atribuídos pontos por caso de teste, por isso, mesmo uma solução menos eficiente obtém sempre pontos. Este ponto é importante porque mesmo quando não se sabe a melhor solução, deve-se procurar obter o máximo número de pontos possível.

anolsi, dependerá da organização de futuros concursos. É dificil responder neste momento.


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
djthyrax

Bora la entao! O pessoal do CIC vai reinar! :)

Tsc tsc, tou pa ver.... :D

O estilo dos problemas é o mesmo daqueles que existem nos concursos de programação em que vocês costumam participar? Vão colocar diferentes problemas consoante o grau de dificuldade?

Há problemas de vários graus sim.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Baderous

Já me registei mas não consigo entrar, diz-me que tenho a autenticação inválida. Já activei o registo. E agora?

Share this post


Link to post
Share on other sites
electron++

o registo tem que ser validado por mim...

Já está!


“Quanto mais aprendo, mais me dou conta da minha ignorância.” Albert Einstein

Share this post


Link to post
Share on other sites
Jeronimus Linuxius
Os problemas têm graus de dificuldade diferentes e dentro de cada problema para se obter os 100 pontos é preciso ter uma solução eficiente (os tempos de execução serão divulgados junto com os problemas). Contudo, são atribuídos pontos por caso de teste, por isso, mesmo uma solução menos eficiente obtém sempre pontos. Este ponto é importante porque mesmo quando não se sabe a melhor solução, deve-se procurar obter o máximo número de pontos possível.

E o único critério qualitativo é a eficiência?

JJ

Share this post


Link to post
Share on other sites
mogers

As restrições são que os programas executem dentro do tempo limite e gastem no máximo 32mb de RAM e 1 mb de stack.

O tempo limite de execução é de 1 segundo para todos os problemas.


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
Jeronimus Linuxius
As restrições são que os programas executem dentro do tempo limite e gastem no máximo 32mb de RAM e 1 mb de stack.

O tempo limite de execução é de 1 segundo para todos os problemas.

Isso parece-me muito sensível a corner cases. Imagina que alguem tem o azar de o seu programa começar a correr exactamente no momento em que o sistema resolve começar a instalar updates ou a actualizar a base de dados do locate. :-)

PS: Só quem está a concorrer é que pode ver os enunciados?

JJ

Share this post


Link to post
Share on other sites
mogers

Isso parece-me muito sensível a corner cases. Imagina que alguem tem o azar de o seu programa começar a correr exactamente no momento em que o sistema resolve começar a instalar updates ou a actualizar a base de dados do locate. :-)

Os judges como o Mooshak são feitos especificamente para gerir concursos. É garantido que todos os programas correm sob as mesmas circunstâncias.

PS: Só quem está a concorrer é que pode ver os enunciados?

http://concurso.portugal-a-programar.org/mooshak01/probs/

Porque não te registas e resolves alguns problemas ? :thumbsup:


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
vbmaster

Foi excelente pessoal, para primeira vez. Gostei do nível de dificuldade dos problemas, com uns acessíveis para não desmotivar o pessoal (falo por experência de colegas meus que não tinham experiência neste tipo de concursos e ainda assim submeteram).

O meu muito obrigado ao mogers, warrior, tharis, elecrao, warrior, prof pedro ribeiro e pcaldeira que tiveram a paciência não só de fazer os problemas mas também os inputs(!!!!).

Eu gostei bastante da experiência e estou ansioso para ver a classificação. Até lá, acho que se pode já abrir um tópico para partilhar e discutir soluções não?

Share this post


Link to post
Share on other sites
HecKel

Infelizmente não pude acompanhar o evento, mas já sei que foi um sucesso :thumbsup:

Parabéns a todos, em especial destaque ao electron++ pelo empenho em avançar com este desafio!

Share this post


Link to post
Share on other sites
jpaulino

Até lá, acho que se pode já abrir um tópico para partilhar e discutir soluções não?

É uma boa ideia!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.