[GO] Vielen Dank für die Registrierung von 100.000 Paiza.
Was ist das
Es gab paizas 100.000 Registrierung, danke spezielle W-Kampagne.
Es scheint, dass es beliebt ist, zusammenzufassen, also sowohl ich als auch ich.
Mein Onkel ist übrigens nur in C-Sprache.
Algorithmus
- Bereiten Sie eine große Sequenz vor
- Markieren Sie das geladene s_i * s_j
--Zählen Sie von p_i und geben Sie die bis zur Marke vorgerückte Nummer aus
Code
Ich habe es aufgeschrieben und wusste nicht, welches ich eingereicht habe (ぉ)
Wahrscheinlich dieser hier.
i,j,S[1<<20],F[4096];
main(X)
{
for(;~scanf("%d",F+i++);)
for(j=*S=*F+2;j<i;S[X<S-F?X:0]=1)
X=F[i-1]*F[j++];
for(i=1;++i-*S;printf("%d\n",j-X))
for(X=j=F[i];!S[j];++j);
}
Es ist im Grunde dasselbe wie fuyutsubaki.
Ein Schlangenfuß namens Kommentar
- Lies M, N, p \ _m, s \ _n in das Array F.
- M = F [0], N = F [1], p \ _m = F [2 .. F [0] +2], s \ _n = F [F [0] +2 .. F [1] Es wird in +2 sein].
(\ * S ist mit F [0] +2 == s_0 tiefgestellt)
- Berechnen Sie beim Lesen X = s_i \ * s_j und setzen Sie S [X] auf 1, wenn es in das große Array S fällt.
(Um zu überprüfen, ob es passt, berechne ich die Größe des großen Arrays S mit SF, aber es scheint, dass es umgekehrt ist (FS), aber es kann nicht geholfen werden, weil der vorliegende gcc diesen Code fallen lässt. .)
- Zählen Sie für p_m die Zahl aus dem großen Array S [p_m] und geben Sie sie aus, bis eine Ausgabe ungleich Null angezeigt wird.
Selbstkritik
- Zuerst dachte ich, dass die Codegröße "die Anzahl der Bytes in der ausführbaren Datei" ist und schrieb printf in putchar um und dachte zu viel nach.
- Ich war über 1000000 zu speziell.
- Ich habe zu viel darüber nachgedacht, die Nebenwirkungen mit der qsort-Funktion auszunutzen.
- Ich habe zu viel darüber nachgedacht, das Array als Zeichen zu behandeln und zu versuchen, die Zahl bis zur Marke mit der strlen-Funktion zu finden.
- Wenn s_i und s_j elementar sind, können Sie den chinesischen Restsatz verwenden, oder? Dachte ich und mein Interesse wandte sich einer Seitenstraße zu.
- Ich war kein einfacher Golfer, aber ich konnte es nicht zu viel tun.
Das ist alles vom Feld.