Sujet 2010 et stratégies

Un long long qui manquait :(

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
int pgcd(int a, int b) {
  if(a == 0)
    return b;
  else if(b == 0)
    return a;
  else if(a % b == 0)
    return b;
  else if(b % a == 0)
    return a;
  else if(a > b)
    return pgcd(a % b, b);
  else
    return pgcd(b % a, a);
}

Loooooool lesphinx

1
2
3
4
5
6
7
8
9
int pgcd(int a, int b) {
  if(b == 0)
    return a;
    return pgcd(b, a%b);
}



int C, N, a, b, c, d, y;

ThemePark : somme += (R - rang) / periode * sommes[rang + periode - 1];
Mouhahaha. ;)
Je pensais que quelqu'un qui avait fait du CamL casterait.

Fair Warning : tu devrais vraiment apprendre à coder simplement :p
Par exemple, dire que c=a si N=2... Ou utiliser un (d-a%d)%d...

Mdr désolé j'étais un peu pressé :P Il était 00 h 40.

Mais en quoi « somme += (R - rang) / periode * sommes[rang + periode - 1]; » te fait rire ?

Ceux qui se sont fait poutrer sur le large input de l'exo C, ça vous apprendra à coder sans réfléchir à la complexité de vos algo :p
(En même temps je dis ça mais au début je faisais bien des wrong answer sur les small input xD)

Bref un algo naïf en O(R*N), même si c'est polynomial, c'est juste impensable vu la taille des données (R

Et en tout cas, pour l'exo B, je me suis pas fait cagué j'ai utilisé les Num en Caml :p

Moi, il était tard et j'avais une longue journée le lendemain. Je me suis contenté de valider le large du B et basta. xD (après avoir raté le C)

Alors qu'il existe un algo' en O(N) qui fait le même truc.

O(N²) plutôt, non ?
Edit : ah non, il y a bien un algo en O(N). Ils auraient pu le demander d'ailleurs :/
lesphinx : parce que ça fait une multiplication d'entiers 32 bits. Et parfois, 32 bits ne suffisent pas :p
Si tu castes une des variable en long long, ton code devrait renvoyer un résultat juste.

somme était un unsigned long long. Ah mais il faut quand même caster :/

Edit : Caml, pas CamL \^\^' À la rigueur, CaML, mais même pas.

J'viens de voir qu'avec Artifère et Summerstorm on a fait pareil niveau exos résolus. :D Et JJ a le B-small en plus.

ouaip, moi jsuis pareil que pikrass (cup.of.tea) , le petit/gros du 1 et le petit du 3
et en bonus j'ai fait du superflu dans mon code pour le 3 avec une joli fonction "dedeplace" qui est l'inverse de "deplace"

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.