myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C++: Codeforces 1B (https://mygully.com/showthread.php?t=2880085)

HagenTronje 26.03.13 16:51

C++: Codeforces 1B
 
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Mein Programm dazu
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Arbeitet lokal einwanfrei.
Auf dem Codeforces Server gibt aber
BC23 zB. R23C53 statt R23C55 zurück.
soviel ich erkannt habe liegt das daran das die zeile 40 den Wert in A[h][1] um 50 statt um 52 erhöht.(Das Kommentar in Zeile 39 gibt auf dem Server zumindest 50 aus)
Ich hab das ganze allerdings getestet, in der Zeile müsste T[h2] ja B sein und h3 1(beides wird von Zeile 38 bestätigt.)
Führe ich also nun
printf("%d",('B'-'A'+1)*(int)pow(26,1)); auf dem Server aus, erscheint korrekt wie es sein sollte, 52.
ich blick da überhaupt nicht mehr durch!

Bevor ich vor pow das (int) gesetzt habe kam übrigens R23C54 auf dem Server raus. Bei mir weiterhin korrekt mit R23C55.

btw. Ich nutze Ubuntu 12.10 Programmiere in Codeblocks mit dem gcc compiler.

Quabla 26.03.13 18:25

hast du es schonmal mit nem debugger versucht? hol dir gdb und setz an den entsprechenden stellen breakpoints

HagenTronje 27.03.13 00:02

bei mir auf dem rechner läuft ja alles perfekt.
Auf dem Server von Codeforces werd ich schlecht debuggen können!

NetWebs 27.03.13 06:45

Warum denn nicht?

HagenTronje 27.03.13 10:03

Sollte ich die Frage jetzt ernst nehmen?

NetWebs 27.03.13 17:52

Klar, was sonst?

HagenTronje 31.03.13 18:53

wie soll ich auf dem server, der nicht mir gehört, nen debugger installieren?

Es muss einfach irgendwas anders sein zwischen deren Testsystem und meinem.
Compiler sollte beide gcc sein. auf codeforces hab ichs auch mit nem anderen getestet, kommt das selbe raus. Ascii tabellen sind auch identisch.

HagenTronje 02.04.13 11:37

in der zeile davor gebe ich die Parameter für
A[h][1]+=(T[h2]-'A'+1)*(int)pow(26,h3);
aus.
Allerdings kommt für (T[h2]-'A'+1)*(int)pow(26,h3) was anderes raus, als wenn ich die Variablen durch die zuvor ausgegebenen Werte ersetze, und sie damit ausführe.
Allerdings nicht immer.

Weiter komm ich mit meinem Verstand leider nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.