Az A+B egy klasszikus próbaprobléma a sportprogramozásban , amellyel a résztvevők megismerkedhetnek egy tesztelési rendszerrel . [egy]
A programozási versenyeken a szervezők általában egyáltalán nem nézik meg a program forráskódját - egy speciális tesztelő rendszer összeállítja a megoldást, és egy előre elkészített tesztsorozaton futtatja . Ha a megoldás az összes teszt bemeneti adatain sikeres eredményt ad, a problémát a résztvevő megoldottnak tekinti. Ugyanakkor a résztvevőnek szigorúan be kell tartania az olimpia szabályait - az információkat a kívánt formátumban kell megadnia és kiadnia, és nem szabad tiltott modulokat csatlakoztatnia a programhoz (például conio.h).
Az olimpia időtartama általában nagyon korlátozott, és közvetlenül a kezdete után a résztvevőknek már nincs idejük tesztelni a tesztelési rendszer képességeit. A verseny kezdetére a résztvevőknek már tudniuk kell könnyen kezelni a tesztelési rendszert és annak felületét . A rendszerrel való ismerkedéshez az olimpia főfordulója előtt próbakört szoktak tartani, melyben könnyű feladatot kínálnak a résztvevőknek, melynek megoldási algoritmusa triviális. A próbakör feladata leggyakrabban az „A+B” feladat.
Természetesen bármilyen más egyszerű feladat is a próbakörbe kerülhet. Néha több feladatot is el kell végezni, hogy a résztvevők különböző típusú bemeneteket próbálhassanak ki . Például az egyik feladatban, mint az "A + B" -ben, számokat kell megadnia , a másikban pedig - karakterláncokat . A próbaköri feladatok nehézsége is változhat az egyszerű "A + B"-től a nehezebbéig, bár nyilvánvaló okokból nem szokás túl nehéz feladatokat adni a próbakörön.
Az "A + B" azon kevés programozási versenyproblémák egyike, amelynek hagyományosan nincs cselekménye.
Adott 2 egész szám : A és B. Ezek összegét ki kell számítani .
A bemeneti adatfolyam két szóközzel elválasztott egész számot tartalmaz egyetlen sorban: A és B.
Írjon a kimeneti adatfolyamba egyetlen egész számot – az A és B számok összegét.
Kezdeti adatok | Eredmény |
---|---|
2 2 | négy |
3 2 | 5 |
Az „A + B” probléma megoldására szolgáló algoritmus egy egyszerű műveletsor, amelyet közvetlenül egy adott programozási nyelv bemeneti-kimeneti képességei miatt hajtanak végre . Az algoritmust a következőképpen rendezheti el:
Könnyen belátható, hogy az algoritmus bonyolultsága T(A, B) ~ O(1). Bármilyen adaton a program működési logikája kis, véges számú processzorciklusban fut le .
Szabványos tesztobjektumok | |
---|---|
2D grafika | |
3D grafika |
|
MP3 audio | |
Programozás | |
Adattömörítés |
|
Szöveg elemek | |
Küzdelem a vírusok ellen | |
Tartomány | |
Optimalizálás |
|