Hogyan oldható meg ez a mohó stratégiás feladat? (C++)
A feladat szövege:
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;
}
feladat (1).pdf156,2 KB
Válasz
Téma törlésének kezdeményezése
C++MUNKA
HASONLÓ PROBLÉMÁK:
CRTP ősosztály miatt miért nem elég a _single_inheritance Visual C++-ban?
Szabadúszó szoftverfejlesztőt/programozót keresek!
Saját osztály, unique_ptr használata, .NET-hez hasonló a deklaráláshoz
Fájlból beolvasás láncolt listába C++
Feladat,rendezés nem kivitelezhető
C++ hatékonyabb megoldás
Else if c++
C++ Qt Creator automatikus mentés visszatöltése
Adatnyilvántartó program
Miért "egyesülnek" a szálak?
Beadandó. Meglévő C# kódból átírás Java koddá
C++ switch probléma
mutass többet!
hirdetés
Kezdd a változást velünk!
hirdetés
Az igazival bárhová elmennél…
hirdetés
Élethű játékélmény a Samsung Neo QLED TV-vel
"Válasz
Téma törlésének kezdeményezése
C++MUNKA
HASONLÓ PROBLÉMÁK:
CRTP ősosztály miatt miért nem elég a _single_inheritance Visual C++-ban?
Szabadúszó szoftverfejlesztőt/programozót keresek!
Saját osztály, unique_ptr használata, .NET-hez hasonló a deklaráláshoz
Fájlból beolvasás láncolt listába C++
Feladat,rendezés nem kivitelezhető
C++ hatékonyabb megoldás
Else if c++
C++ Qt Creator automatikus mentés visszatöltése
Adatnyilvántartó program
Miért "egyesülnek" a szálak?
Beadandó. Meglévő C# kódból átírás Java koddá
C++ switch probléma
mutass többet!
hirdetés
Kezdd a változást velünk!
hirdetés
Az igazival bárhová elmennél…
hirdetés
Élethű játékélmény a Samsung Neo QLED TV-vel"
Oké.
Hogy kell tovább folytatni
Benne van a szövegben:
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.
Mi a probléma?
n -> munkanapok száma - integer (1 és 10.000 között)
m -> megrendelés száma - id, integer (1 és 100.000 között)
g -> munkagépek száma - egy gép egy megrendelést képes kezelni? A gépeknek vannak egyéb paramétereik amik meghatározzák, hogy egy gép egy adott idő alatt hány megrendelést képes elvégezni?
output: M+1 sor? Két string sor, vagy egy kételemű string típusű tömb?
Annak, hogy "sor" nincs értelme ebben a kontextusban. A string egy összefűzött karakterlánc, a tömb pedig egy vödör, amiben elemeket pakolhatunk. Olyan, hogy "sor" olyan nem létezik, maximum a képernyőn láthatsz egymás alatt két sort, a kétszer hívsz meg egy függvényt, és az két inputot ad vissza egymás alá "két sorban" (mivel kétszer futott le).
Jó lenne tudni, hogy az okos feladat megírója mit ért, sor alatt.
Ha értjük a feladatot, onnantól ez egy baromi egyszerű dolog, csak le kell programozni. Ameddig ez nem tiszta, addig el se kezd.
#6 ha nem erted a feladatot, akkor nem hozzad szol a kerdes.
A leiras es a pelda alapjan teljesen egyertelmu a feladat.
Én értem a feladatot
Ez egy régebbi informatika OKTV feladat egyébként. Az M+1 sort a kimenetnél látod, Az első a gépek darabszáma (ez az amit már sikerült nekem meghatározni, ez lesz a G érték, ezt ki is irattam), utána pedig M sor szerepel, egy beosztást elkészítve, hogy melyik napon hányas számú gépet használjuk (ez az ami nem sikerült nekem), ennek az elkészítésének a segítségére íródott a kérdés
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!