Mohó stratégiás feladat

Címkék
Mohó stratégiás feladat
2022-05-26T19:09:51+02:00
2022-05-28T22:16:44+02:00
2022-10-15T21:20:39+02:00
Levente Csordás
Elakadtam a programozási feladatomban, melyet csatolva találhattok meg. Az első rész, az, hogy hány gép szükséges, sikerült. Viszont, a beosztás elkészítése, hogy melyik napon hányas gép végezze a munkát, az eddig nem, mégpedig az nem, hogy hogyan lehetne olyan naphoz, ahol korábbi gép még nem szerepel korábbi gépet beírni. Ebben szeretnék ötleteket kérni. A cout << G << endl; utáni rész ez.


Az eddigi kódom:

#include <iostream> #include <cmath> using namespace std; const int MaxN = 10000; const int MaxM = 100000; struct munka { int s; int n; int g; int h; }; int main() { cerr << "Gepek" << endl; /// deklaracio int N; int M; double G; int H[MaxM]; int m[MaxN] = {}; int t; /// beolvasas cerr << "N = ?: "; cin >> N; cerr << "M = ?: "; cin >> M; for (int i=0;i<M;i++) { cerr << i+1 << ". megrendeles hatarideje: "; cin >> H; } /// Rendezes (hatarido szerint novekvoleg) int s; for (int i=0;i<M-1;i++) { for(int j=i+1;j<M;j++) { if (H > H[j]) { s = H; H = H[j]; H[j] = s; } } } /// Megoldas for (int i=0;i<M;i++) { t = H; m[t]++; } G = 0; double msz = 0; double gsz = 0; for (int i=0;i<N;i++) { msz = msz + m; gsz = ceil(msz / i); if (gsz > G) { G = gsz; } } cout << G << endl; int nap = 0; int gep = 1; for (int i=0;i<M;i++) { if (nap < H[i]) { nap++; cout << nap << " " << gep << endl; } else { nap = 1; gep++; cout << nap << " " << gep << endl; } } return 0; }
Mutasd a teljes hozzászólást!
Csatolt állomány

Címkék
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd