Próbuję rozwiązać problem programowania, aby ćwiczyć jutro konkurs, i pomyślałem, że może to dobre miejsce, aby zapytać, jak się do niego zbliżyć. Problem jest pierwszy na tej stronie: http://www.cs.rit.edu/~icpc/questions/2010/Oswego_2010.pdfProgramowanie ACM Pytanie
Najczęściej zadawane pytania na tej stronie wymienia algorytm i koncepcje struktury danych oraz wzorce projektowe, więc myślę, że pytanie, jak podejść do tego problemu, nie jest wyłączone. Oto, co mam do tej pory (niewiele). Nie rozumiem, jak rozwiązać ten problem.
public class Ape
{
public void computeOutput(int weight, int[] capacities, int[] snackLosses)
{
//not sure what to do
}
public static void main(String [] args) throws FileNotFoundException
{
Ape ape = new Ape();
File file = new File(args[0]);
Scanner in = new Scanner(file);
int totalWeight = in.nextInt();
int n = in.nextInt();
int[] capacities = new int[n];
int[] snackLosses = new int[n];
for (int i = 0; i < n; i++)
{
capacities[i] = in.nextInt();
snackLosses[i] = in.nextInt();
}
ape.computeOutput(totalWeight, capacities, snackLosses);
}
}
Bardzo zły opis problemu: nie zrobił znaleźć słowo optymalizacja przyniosła kwotę główną bananów. Więc kiedy interpretujesz to dosłownie, potrzebujesz "opakowania" małp, które mogą przenosić dokładną ilość dostępnych bananów. Również bardzo nietypowe pytanie ACM nie wskazuje na wielkość liczb (na przykład N w dziesiątkach, tysiącach, milionach lub nawet większych). – flolo