Această este o problema interactivă!
Radu Dragonul se pregătește de meciul contra Belgiei. Acesta vrea să afle numărul de pe tricoul adversarului sau direct, Lakaka. Domnul antrenor Fisu' lu' Tasu', care știe numărul temutului atacant belgian, vrea să îi dea o mâna de ajutor, procesul constând în mai mulți pași. La fiecare pas, Radu vine cu o foaie pe care scrie maxim 5 numere, iar Fisu' îi va spune care dintre ele sunt divizori ai numărului căutat. Deoarece timpul este limitat, Radu vrea să fie pregătit de meci într-un număr cât mai mic de pași. Între timp, federația de fotbal a Belgiei a anunțat că toți jucătorii lor vor avea numere pe tricou cu divizorii primi din mulțimea și cuprinse între și
Protocol de Interacțiune
Va trebui să scrieți un program (dragon.cpp
) care implementează următoarea funcție:
long long solve();
Ea va trebui returneze numărul căutat de Radu
Puteți să va ajutați de această funcție( care reprezintă unul dintre pași ). atenție! vectorul a trebuie să aibă lungimea maxim 5
vector<bool> ask( vector<long long> a );
Trebuie să includeți "dragon.h"
Concurentul NU va avea în program funcția main!
Testare Locală
Pentru a testa mai ușor programul aveți la atașamente grader.cpp
și dragon.h
citirea se face din fișierul dragon.in
(numărul ) și se afișează în dragon.out
(răspunsul pe care îl da programul vostru și numărul de apelari ale funcției ask).
Restricțîi și precizări
- numerele scrise de Radu pe foaie ;
Punctare
userQ
= numărul de query-uri făcute de programul vostru,bestQ
= numărul de query-uri făcute de sursă oficială;- Dacă funcția returnează un număr greșit se vor acorda puncte;
- Dacă funcția returnează numărul corect punctajul va fi calculat după formula .