- Partage ce devoir avec tes amis !
Sujet du devoir
Bonjour j'ai beaucoup avancer sur ioi et il me reste plus que 6 probleme pour le niveaux 1 le problème c'est que ses niveaux la je suis bloque pouvez vous m'aider a les faire car je dois les rendre pour la rentrée svp ?
La ville comprend de nombreuses casernes de pompiers et chacune a sa propre zone d'intervention qui lui est réservée. Cependant en regardant ces zones il vous semble qu'elles ne sont pas très bien choisies car parfois elles se recoupent alors que certains endroits de la ville sont en dehors de toutes les zones et donc ne sont pas protégées par les pompiers. Vous décidez d'aider le maire à mieux organiser l'action des pompiers.
Ce que doit faire votre programme :
Votre programme doit lire la description de plusieurs paires de zones rectangulaires, et pour chacune, déterminer si les deux rectangles s'intersectent.
Vous devez lire un premier entier, le nombre de paires de zones que votre programme devra tester. Ensuite, pour chaque paire possible, deux zones rectangulaires et parallèles aux axes vous sont données l'une après l'autre. Chaque zone est décrite par 4 entiers : son abscisse minimale et maximale puis son ordonnée minimale et maximale.
Sur cet exemple, la zone du bas est donc décrite par les 4 entiers (1, 6, 1, 5) et l'autre par (4, 9, 3, 8) :
Pour chaque paire de zones, votre programme doit écrire "OUI" si les zones s'intersectent et "NON" sinon. Si elles ne font que se toucher sur les bords il doit écrire "NON".
Exemple
entrée :
1 1 6 1 5 4 9 3 8
sortie :
OUI
Où j'en suis dans mon devoir
ce que j'ai fait :
class rect:
int x1, x2, y1, y2;
public:
rect(int a, int b, int c, int d) {
x1 = a;
x2 = b;
y1 = c;
y2 = d;
int get_x1()
return x1
int get_x2()
return x2
int get_y1()
return y1
int get_y2()
return y2
int main()
int nbr_paire,a,b,c,d;
cin >> nbr_paire;
for (int i = 1;i <= nbr_paire; i++) {
cin >> a >> b >> c >> d;
rect r1(a, b, c, d);
cin >> a >> b >> c >> d;
rect r2(a, b, c, d);
if ( (r2.get_x1() >= r1.get_x1()) && (r2.get_x1() <= r1.get_x2()) && (r2.get_y1() >= r1.get_y1()) && (r2.get_y1() <= r1.get_y2()) ) {
cout << "OUI"<< endl;
el
cout << "NON" << endl;
0 commentaire pour ce devoir
Ils ont besoin d'aide !
- Aucun devoir trouvé, poste ton devoir maintenant.