Ao submeterem, vocês devem organizar todos os arquivos *.cpp e *.h dentro de um arquivo .zip. O arquivo .zip também deve conter um arquivo makefile para compilar o código. Em anexo está um exemplo de submissão. Lembrem-se de: (1) o arquivo "complexidade.pdf" não deve ser enviado pelo servidor, mas por e-mail até quarta-feira às 23:59 e (2) não compactar pastas, somentes arquivos.
O único parâmetro do programa é o nome do arquivo que especifica um grafo simples no formato do Lemon.
A resposta é dada pela saída padrão (std::cout). Deve ser impressa uma (delta+1)-coloração própria das arestas do grafo de entrada, sendo delta o grau máximo. A saída deve obedecer as seguintes regras:Nos arquivos em anexo há dois exemplos de como deve ser impressa a resposta.
- Uma linha por aresta;
- Cada linha deve conter: o rótulo da aresta e uma cor, separados por um tab ("\t");
- Os rótulos das arestas devem ser os mesmos da entrada (coluna "label" do arquivo de entrada);
- As cores devem ser inteiros, por exemplo, {0, 1, 2, 3, ...} ou {1, 2, 3, 4, ...}
Durante a submissão é possível testar se o programa está funcionando corretamente. Para isso, o programa é executado com 10 casos de teste abertos, disponíveis no endereço:
http://www.loco.ic.unicamp.br:8064/lab05/data
Como a resposta é computada no momento da submissão, algumas medidas foram tomadas para que o usuário não fique esperando muito tempo por uma resposta: (1) somente um subconjunto representativo dos casos de teste é executado (10 de um total de 40) e (2) estipulamos um timeout de 10 segundos por caso de teste.
Não encontrei uma função do Lemon para computar coloração de arestas. Será que existe? Para contornar isso, implementei dois métodos: (1) um exato ("lab05-pli.zip"), que usa o resolvedor de programação inteira do Lemon, mas que funciona só para casos bem pequenos (se for executar localmente, é preciso instalar o glpk antes); (2) uma heurística ("lab05.zip"), que começa colorindo as arestas incidentes em vértices de maior grau.