• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mogers

Google Code Jam 2008

84 mensagens neste tópico

A edição deste ano do Google Code Jam 2008 vai distribuir mais de $80000 em prémios  :P

Do you enjoy solving tough problems and grappling with technical challenges? Then enter Google Code Jam!

Google Code Jam is a coding competition in which professional and student programmers are asked to solve complex algorithmic challenges in a limited amount of time. The contest is all-inclusive: Google Code Jam lets you program in the coding language and development environment of your choice.

Google Code Jam begins in July and continues in August, when you will compete in online rounds against contestants from around the world. The Top 500 participants will advance to onsite competitions at a local Google office to compete against those in their region (Asia Pacific; Europe, Middle East and Africa; and the Americas). The Top 100 will participate in the final round at the Google Headquarters in Mountain View, California on Friday, November 14.

Don't be left out! Make sure to register between June 17 and July 17, and show your coding creativity in Google Code Jam.

A prova de qualificação é no dia 16 de julho. Quem vai participar? Eu vou :P

Após algumas rondas online, são apurados 500 concorrentes que se deslocam a um dos escritórios da Google para competir. Inicialmente até achava que tinha boas hipóteses de conseguir, mas depois de ver os problemas de treino, o meu objectivo passa pelo top 1000 :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Parece fun :P

Eu em principio participo, estive a ver o primeiro e o segundo practice exercise, e não me parecem de todo complicado :P

Amanhã hei-de ver isso melhor ^_^

Fun fun fun :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já estou inscrito há uma semana :P.

Ouvi dizer que os problemas da ronda de qualificação devem ser mais fáceis do que os da Beta..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

"Don't be left out! Make sure to register between June 17 and July 17"

"A prova de qualificação é no dia 16 de julho. Quem vai participar?"

=X?

Já li melhor... Podes querer armar-te em artista e inscreveres-te 10 minutos antes do fim da ronda de qualificação, lol  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

alguem ja tentou resolver o aliens numbers ?

estou a tentar fazer isso agora..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n percebo por exempo.

For example, if the alien numeral system were represented as "oF8", then the numbers one through ten would be    (F, 8, Fo, FF, F8, 8o, 8F, 88, Foo, FoF).

sendo  1, 2, 3, 4, 5, 6, 7, 8, 9, 10 certo ?

como é que 4 da Foo??

input

Output

4

9 0123456789 oF8

Foo oF8 0123456789

13 0123456789abcdef 01

CODE O!CDE? A?JM!.

Case #1: Foo

Case #2: 9

Case #3: 10011

Case #4: JAM!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Duh. Lê o input.

"The first line of input gives the number of cases, N."

Assim vão ser analisados 4 casos que são:

9 0123456789 oF8

Foo oF8 0123456789

13 0123456789abcdef 01

CODE O!CDE? A?JM!.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

alguem ja tentou resolver o aliens numbers ?

Yep

Duh. Lê o input.

... O que é isto?...  :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimentei para o caso da página e funcionava, mas quando submeto o ficheiro de output diz-me que está incorrecto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimentei para o caso da página e funcionava, mas quando submeto o ficheiro de output diz-me que está incorrecto.

Tens de enviar o output dos ficheiros de input que estão lá para download.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Foi o que eu fiz. Devo ter algum erro no meu código mas não sei qual será... =/

Já agora se alguém quiser ver...  :idiot2:

#include <stdio.h>
int instring(char* st1,char st2)
{
    int ii=0;
    while(st1[ii]!='\0' && st1[ii]!=st2) {
        ii++;
    }
    if (st1[ii]=='\0')
        return -1;
        else
        return ii;
}

int power(int base,int exp)
{
    int ii=1;
    while(exp>0) {
        ii*=base;
        exp--;
    }
    return ii;
}
    
        


main ()
{
    FILE *fin  = fopen ("A-small.ino", "r");
    FILE *fout = fopen ("A-small.outo", "w");
    int n,it,numint,i1,i2,i3,i4;
    fscanf(fin, "%d",&n);
    char numbers[n][4][25];
    for(it=0;it<n;it++) {
        fscanf(fin,"%s %s %s",numbers[it][0],numbers[it][1],numbers[it][2]);
        //número na mensagem
        numint=0;
        //número de algarismos na mensagem
        i1=0;
        while(numbers[it][0][i1]!='\0') {
            i1++;
        }
        printf("Mensagem: %s\n",numbers[it][0]);
        printf("Algarismos na mensagem: %d\n",i1);
        //base na numeração 1
        i2=0;
        while(numbers[it][1][i2]!='\0') {
            i2++;
        }
        printf("Base da numeracao 1: %d\n",i2);
        //achar número na mensagem
        for(i3=i1-1;i3>=0;i3--) {
            numint+=instring(numbers[it][1],numbers[it][0][i3])*power(i2,i1-i3-1);
        }
        printf("Numero na mensagem: %d\n",numint);
        //base da numeração 2
        i2=0;
        while(numbers[it][2][i2]!='\0') {
            i2++;
        }
        printf("Base da numeracao 2: %d\n",i2);
        //número de algarismos em numeração 2
        i1=1;
        while(power(i2,i1)<=numint) {
            i1++;
        }
        printf("Numero de algarismos em numeracao 2: %d\n",i1);
        //converter numint para numeração 2
        for(i3=i1-1;i3>=0;i3--) {
            i4=0;
            while(numint-i4*power(i2,i3)>=power(i2,i3)) {
                i4++;
            }
            numint-=i4*power(i2,i3);
            numbers[it][3][i1-i3-1]=numbers[it][2][i4];
            printf("%c\n",numbers[it][2][i4]);
        }
        numbers[it][3][i1]='\0';
    fprintf(fout, "Case %d: %s\n", it+1, numbers[it][3]);
    }   
    
    
    exit(0);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Registei-me, mas não sei se me vou dedicar muito :P

ELIGIBILITY. This Contest is open to individuals who are 18 years of age or older at the time of registration. Individuals who are 13 years or older at the time of registration may enter the Contest but will only be able to take part in the Qualification and Online Rounds as described below. Only contestants 18 years of age or older as of September 18, 2008 will be able to attend and participate in the Onsite Rounds at Google offices. NOTE: If you are not 18 or older, you will be ineligible to travel to the Onsite Rounds and will not be able to win any prizes in the Contest.

Só faço 18 em Fevereiro :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu vou participar para mais uma vez ter a diversão de estar a concurso! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ena :D Não pensei que tivesse tanto interesse :D Eu registei-me no dia 16 de junho lol mas ainda não me dediquei a fundo nos problemas. Nos do practice, já fiz todos menos o egg drop. Preciso de pensar melhor, é mais complicado do que me parecia. Da beta ainda só fiz o 1º, os outros ainda não li muito bem, mas pareceram complicaditos.

Registei-me, mas não sei se me vou dedicar muito :P

Só faço 18 em Fevereiro :P

Participa na mesma. Sinceramente, mesmo com dedicação é muito complicado conseguir lá chegar. Já ficas com experiência.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já estou inscrito há uma semana :P.

Ouvi dizer que os problemas da ronda de qualificação devem ser mais fáceis do que os da Beta..

Eu também acredito que sim. Alguns problemas são bastante complicados de resolver para os large inputs. Também no concurso de practice e beta tavam muitos "pesos-pesados", tinham de por problemas em condições para eles :P  Já fizeste todos?

edit: isto de ser "muito complicado" refiro-me mais em conseguir resolver tudo durante as 2h de prova. Com mais tempo não se torna tão complicado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só fiz mesmo o alien numbers..

/*offtopic

Amanhã há SRM às 16h00 (topcoder)

offtopic*/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou ver se faço os alien numbers antes de ir dormir. Done, até era facil.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como é que fizeram o alien numbers?

Ainda só dei uma olhadela naquilo mas não estou a ver como é que hei-de fazer...até tenho uma ideia mas parece-me um bocado complexa.

Agora só posso olhar para essas coisas a partir de dia 21 (último exame). É pena que não possa participar...era interessante.

Não posso olhar para aquilo senão depois começo a fazer e já não consigo parar e depois os estudos... :P Era mesmo só para saber a ideia base/método que pensaram, uma vez que não estou a ver.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ideia base é pegar na string que representa o número e, usando a base da numeração de origem, descobrir qual é o número que lá está. Depois é converter esse número para a base da numeração final.

Se tens uma noção de como se convertem números de uma base para outra não deves ter problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora