Informatică, întrebare adresată de laurachirila5, 8 ani în urmă

Un program in C++ pentru problema atasata. Multumesc!

Anexe:

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <iostream>

#include <fstream>

using namespace std;

ifstream in("iepurasi.in");

ofstream out("iepurasi.out");

int main(){

int N, C, M, i, a, b;

in >> N >> C >> M;

int copie = M;

int primul = 0, transport = 1;

for (i = 1; i <= N; i++) {

 in >> a;

 in >> b;

 a = a + b;

 b = a + C;

 //Masa unei perechi de iepurasi cu tot cu oua e acum in var. b iar masa iepurasilor fara oua e in a

 

 if (M - b >= 0){

  M = M - b;

  if (transport==1) {

   primul = primul + a;

  }

 }

 else {

  transport++;

  M = copie;

  M = M - b;

 }

}

out << primul << endl; //Masa iepurasilor din primul transport

out << transport; //Nr de transporturi

}


andrei750238: Testat in VS.
Nu am inteles prea bine daca se doreste afisarea doar greutatii iepurasilor ( fara oua ) sau cu tot cu oua la primul transport.

Am facut mai sus prima varianta ( fara oua ). In cazul in care trebuia invers, tot ce trebuie sa faci e sa inlocuiesti "a" cu "b" in comanda "primul = primul + a"
laurachirila5: ok, mersi mult
Alte întrebări interesante