A+B este o problemă clasică de încercare în programarea sportivă , folosită pentru a familiariza participanții cu un sistem de testare . [unu]
La competițiile de programare , organizatorii, de regulă, nu se uită deloc la codul sursă al programului - un sistem special de testare compilează soluția și o rulează pe un set de teste pregătit în prealabil . Dacă soluția dă rezultate de succes la datele de intrare ale tuturor testelor, problema este considerată rezolvată de către participant. În același timp, participantul trebuie să respecte cu strictețe regulile olimpiadei - să introducă și să scoată informații în formatul necesar și să nu conecteze modulele interzise la program (de exemplu, conio.h).
Durata olimpiadei, de regulă, este foarte limitată și, imediat după începerea acesteia, participanții nu mai au timp să testeze capacitățile sistemului de testare. Până la începutul competiției, participanții trebuie să fie deja capabili să gestioneze cu ușurință sistemul de testare și interfața acestuia . Pentru a face cunoștință cu sistemul, înainte de runda principală a olimpiadei, se organizează de obicei o rundă de probă, în care participanților li se oferă o sarcină ușoară, algoritmul de rezolvare care este banal. Sarcina rundei de probă este cel mai adesea sarcina „A+B”.
Desigur, orice altă sarcină simplă poate fi în runda de probă. Uneori sunt efectuate mai multe sarcini, astfel încât participanții să poată încerca diferite tipuri de introducere . De exemplu, într-o sarcină, ca în „A + B”, trebuie să introduceți numere , iar în celelalte - șiruri . Dificultatea problemelor din runda de probă poate varia, de asemenea, de la simple ca „A + B” la altele mai dificile, deși nu este obișnuit să se acorde sarcini prea dificile în runda de probă din motive evidente.
„A+B” este una dintre puținele probleme de concurență de programare care în mod tradițional nu are o intriga.
Având în vedere 2 numere întregi : A și B. Este necesar să se calculeze suma lor .
Fluxul de intrare conține două numere întregi separate prin spațiu într-o singură linie: A și B.
Scrieți în fluxul de ieșire un singur întreg - suma numerelor A și B.
Datele inițiale | Rezultat |
---|---|
2 2 | patru |
3 2 | 5 |
Algoritmul pentru rezolvarea problemei „A + B” este o secvență simplă de acțiuni care este implementată direct datorită capacităților de intrare-ieșire ale unui anumit limbaj de programare . Puteți aranja algoritmul după cum urmează:
Este ușor de observat că complexitatea algoritmului este T(A, B) ~ O(1). Pe orice date, logica de lucru a programului este executată într-un număr finit mic de cicluri de procesor .
Obiecte de testare standard | |
---|---|
Grafică 2D | |
Grafică 3D |
|
Audio MP3 | |
Programare | |
Comprimarea datelor |
|
Elemente de text | |
Luptă împotriva virușilor | |
Domeniu | |
Optimizare |
|