Vinnaren i pepparkakshustävlingen!
2010-10-17, 23:42
  #1
Medlem
andreynr6s avatar
Tänk er att man ska bygga en uteplats med brädor. Avstånden mellan de bärande balkarna är 60 cm. X motsvarar den överblivna bredden, som är mindre än 60 cm. Man vill att varje bräda börjar och slutar på en balk för att det ska bli stabilt(såklart). Då måste man alltså kapa varje bräda så det är en jämn multipel av 60, förutom den sista brädan som måste bli anpassad till X.

Sen för att minimera spill så finns det några krav:
1. Börja varje rad med spill från föregående rad om detta är möjligt.
2. Annars, använd en ny bräda, som är så lång som möjligt.

Nu vill jag veta hur jag ska försöka tänka för att få fram någon sort funktion,eller bara några tips på vägen om vi säger att man vet bredden och längden(djupet) på uteplatsen, och längden och bredden på brädorna, så man kan få ut hur många brädor man ska köpa.

Bifogar en bild så ni förstår...
http://img201.imageshack.us/i/wdawda.png/
Citera
2010-10-18, 10:18
  #2
Medlem
chibarikus avatar
skolproblem eller praktiskt problem?
Citera
2010-10-18, 10:49
  #3
Medlem
andreynr6s avatar
Citat:
Ursprungligen postat av chibariku
skolproblem eller praktiskt problem?

Det är en gammal tenta på ett programmeringsproblem, men det är själva ekvationen/tänket jag vill åt, lyckas inte få ut något vettigt när jag sätter variabler och försöker lösa det på papper så att säga
Citera
2010-10-18, 11:37
  #4
Medlem
Spontant så tänker jag dynamisk programmering. Skulle du kunna optimera det om du bara hade en rad som du skulle fylla? I sådana fall, skulle du kunna optimera det om du hade två rader att fylla? Kommer du på någon generell idé att använda här?

Jag har ju dock inte tänkt igenom detta så min idé hur man ska lösa det kanske inte håller, så det reserverar jag mig för
Citera
2010-10-18, 11:51
  #5
Medlem
andreynr6s avatar
Citat:
Ursprungligen postat av rejkan
Spontant så tänker jag dynamisk programmering. Skulle du kunna optimera det om du bara hade en rad som du skulle fylla? I sådana fall, skulle du kunna optimera det om du hade två rader att fylla? Kommer du på någon generell idé att använda här?

Jag har ju dock inte tänkt igenom detta så min idé hur man ska lösa det kanske inte håller, så det reserverar jag mig för

Jag har massvis med idéer.
En spontan är ju att få ut den sista längden(X) genom att ta uteplatsens längd(UL) mod 60.
alltså blir den sista biten X=UL mod 60.
Om vi då tar brädlängen(BL) mod 60, så kanske vi får en spillbit som räcker för den sista biten X.
Alltså blir det till slut optimalt att få precis X längd som spillbit?
Citera
2010-10-18, 12:29
  #6
Medlem
Vet inte om jag är med på hur du menar nu, men det skulle ju kunna vara mer optimalt att få en längre spillbit än X, eller till och med bättre att inte få någon spillbit alls.
Känner du till begreppet dynamisk programmering?
Citera
2010-10-18, 13:16
  #7
Medlem
andreynr6s avatar
Citat:
Ursprungligen postat av rejkan
Vet inte om jag är med på hur du menar nu, men det skulle ju kunna vara mer optimalt att få en längre spillbit än X, eller till och med bättre att inte få någon spillbit alls.
Känner du till begreppet dynamisk programmering?

Nej jag gör ju inte det. Sitter på lite kunskap i ADA95, och det är lite bökigt med loopar och annat där.
Så det är främst själva ekvationen, eller hur man ska tänka för att få ut vettiga variabler(och hur man ska deklarera dem) som jag vill åt. Resten ska jag försöka klura ut själv, men förstår om det kan bli svårt att förklara för mig hur du tänker.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback