Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-04-2009, 14:13   #1
CertainDeath
Member
 
L'Avatar di CertainDeath
 
Iscritto dal: Sep 2008
Città: Padova
Messaggi: 172
[C++ o Pascal] L'essenza di un fiore raro

Ragazzi mi serve urgente aiuto con questo programma da creare o in Pascal o in C++

L'essenza di un fiore raro è molto ricercata tra i profumieri. Il prezzo di mercato viene fissato giornalmente dal CGE, il Consorzio dei Grossisti di Essenze. Inoltre, essendo di natura organica, l'essenza acquistata da un profumiere deperisce dopo un certo periodo e quindi può essere rivenduta so
*soltanto entro K giorni dall'acquisto (data di scadenza).

*Un profumiere è venuto a conoscenza del prezzo di mercato dell'essenza che il CGE prevede per i prossimi N giorni (N ≥ K), per semplicità numerati da 1 a N. Ritenendo molto affidabili le previsioni del CGE, il profumiere intende comprare una certa quantità di essenza il giorno i per rivenderla il giorno j, tenendo presente però che non può andare oltre la data di scadenza (quindi deve essere i ≤ j
*(quindi deve essere i ≤ j ≤ i+K). Il profumiere intende fare un solo acquisto e una sola vendita successiva all'acquisto.

*Aiutate il profumiere a calcolare il massimo guadagno che può ottenere, calcolato come la differenza tra il prezzo dell'essenza al giorno j e quello al giorno i. Notate che è permesso scegliere j=i: in questo modo, anche se il prezzo di mercato dell'essenza fosse in discesa per tutto il periodo considerato, sarebbe possibile evitare perdite.


*Dati di input
Il file input.txt è composto da due righe.

La prima riga contiene due interi positivi separati da uno spazio, rispettivamente il numero K di giorni per la data di scadenza e il numero N di prossimi giorni.

La seconda riga contiene N interi positivi separati da uno spazio, i quali rappresentano il prezzo di vendita dell'essenza nei prossimi N giorni.


*Dati di output
Il file output.txt è composto da una sola riga contenente un intero che rappresenta il massimo guadagno del profumiere, con le regole descritte sopra.

Assunzioni
1 ≤ N ≤ 1000,
1 ≤ K ≤ N .

*Esempi di input/output

File input.txt File output.txt
2 6
3 6 2 6 9 6
7



Nota/e
Un programma che restituisce sempre lo stesso valore, indipendentemente dai dati in input.txt, non totalizza alcun punteggio in aggiunta a quello ottenuto per la sua compilazione

Qualcuno può darmi una mano?
__________________
PACKARD BELL Easy Note TJ75@CPU INTEL Core i5 430M //GPU ATI RADEON HD 5470//RAM CORSAIR 4GB DDR3// HD WESTERN DIGITAL 640GB SATAII 3.0 GB/s
CertainDeath è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2009, 16:20   #2
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
[[OT]]
Non penso che questo post ti sarà d'aiuto, ho scritto la soluzione in factor, giusto come esercizio personale (sto cercando di imparare il linguaggio)...
Codice:
USING: kernel sequences grouping math math.parser splitting 
prettyprint strings ascii ;

: collect-data ( seq -- max ) 
    dup first [ - ] curry map supremum ;

: flower-power ( seq k -- )
    <clumps> [ collect-data ] [ max ] map-reduce ;

: read-valid-days ( -- k )
    readln " " split1 drop string>number 1+ ;

: read-previsions ( -- seq )
    readln [ blank? not ] filter >array 
    [ 1string string>number ] map ;

: main ( -- )
    read-valid-days read-previsions swap flower-power . ;
Considerando che più della metà del programma serve solo a prendere in pasto l'input, non mi sembra malvagio. L'ho già detto che mi piace da matti factor?

Tornando in topic cmq... l'idea è quella di prendere tutte le sottosequenze che vanno da i a i+k, fare la differenza tra il primo valore e gli altri, e prendere il massimo. Poi prendere il massimo dei massimi delle varie sottosequenze.
Ma credo di essermi spiegato malissimo...
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 00:25   #3
Krat0s
Member
 
Iscritto dal: Jun 2008
Messaggi: 109
Dicono che fare come hai fatto tu corrisponde a barare
Krat0s è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 09:56   #4
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Krat0s Guarda i messaggi
Dicono che fare come hai fatto tu corrisponde a barare
Come ho fatto io? Come ho fatto che? Dove sarebbe la truffa?
Comunque, l'ho riscritto, magari ora è più leggibile (e c'era pure un bug nel prendermi in pasto le previsioni).
Codice:
USING: kernel sequences grouping math math.parser splitting
prettyprint strings ascii ;

: get-valid-days ( -- k+1 )
    readln " " split1 drop string>number 1+ ;

: get-previsions ( -- seq )
    readln " " split [ string>number ] map ;

: best-group-sell ( seq -- max ) 
    dup first [ - ] curry [ max ] map-reduce ;

: best-global-sell ( seq k -- best-sell )
    <clumps> [ best-group-sell ] [ max ] map-reduce ;

: flower-power ( -- )
    get-valid-days get-previsions swap best-global-sell . ;

Ultima modifica di shinya : 03-04-2009 alle 10:00.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 10:42   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da shinya Guarda i messaggi
Come ho fatto io? Come ho fatto che? Dove sarebbe la truffa?
Sospetto fortemente che la "truffa" di cui sei accusato sia dovuta al fatto che non hai utilizzato C++ o Pascal per dare dimostrazione di una possibile soluzione del problema posto, ma, ah marrano, ti sei appoggiato pesantemente ad un esotico linguaggio ad alto livello di astrazione
Eh non si fa, non si fa...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 10:49   #6
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Sospetto fortemente che la "truffa" di cui sei accusato sia dovuta al fatto che non hai utilizzato C++ o Pascal per dare dimostrazione di una possibile soluzione del problema posto, ma, ah marrano, ti sei appoggiato pesantemente ad un esotico linguaggio ad alto livello di astrazione
Eh non si fa, non si fa...
Eh, non posso mica fargli l'esercizio io però
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 11:45   #7
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
l'hanno dato alle olimpiadi di informatica; ora non mi ricordo come l'ho risolto; ma bastano un paio di cicli annidati confrontando dal presso di un dato giorno fino a quello della scadenza
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 13:47   #8
Krat0s
Member
 
Iscritto dal: Jun 2008
Messaggi: 109
L'ho fatto anch'io
Del baro lo davo a lui (CertainDeath) che in piena prova chiedeva che glie lo risolvessero =.=

Ultima modifica di Krat0s : 03-04-2009 alle 14:02.
Krat0s è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 13:47   #9
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Forse mi manca un dato.
Ma il guadagno dovrebbe essere infinito oppure 0.
Se esiste anche solo un giorno tale per cui il prezzo e' inferiore a qualsiasi dei giorni successivi (fatta salva la scadenza), allora comprero' infinite essenze in quel giorno per rivenderle il giorno giusto...

O forse il limite e' che si puo' comprare una sola essenza al giorno?
Edit: Si infatti e' cosi'. Ho letto dopo il vincolo. Anche venderne una sola pero'. Vabbe'. Bruttino come limite questo ma vabbe'.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 13:54   #10
Krat0s
Member
 
Iscritto dal: Jun 2008
Messaggi: 109
Nono, non è infinito. Devi prendere il guadagno di una essenza. Praticamente il se il file di input era così:
3 9
1 5 7 4 9 2 6 1 8

il risultato era un file di output contenente il valore 7
Krat0s è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 14:29   #11
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Krat0s Guarda i messaggi
Nono, non è infinito. Devi prendere il guadagno di una essenza. Praticamente il se il file di input era così:
3 9
1 5 7 4 9 2 6 1 8

il risultato era un file di output contenente il valore 7
Orgh! C'era un errore colossale nel mio sorgente... sistemato!
Codice:
USING: kernel sequences grouping math math.parser splitting
prettyprint strings ;
IN: flower-power

: get-valid-days ( -- k+1 )
    readln " " split1 drop string>number 1+ ;

: fix-previsions ( k seq -- k newseq )
    over [ 0 ] replicate append ;

: get-previsions ( -- seq )
    readln " " split [ string>number ] map ;

: best-group-sell ( seq -- max ) 
    dup first [ - ] curry [ max ] map-reduce ;

: best-global-sell ( seq k -- best-sell )
    <clumps> [ best-group-sell ] [ max ] map-reduce ;

: flower-power ( -- )
    get-valid-days get-previsions fix-previsions
    swap best-global-sell . ;

MAIN: flower-power

Ultima modifica di shinya : 03-04-2009 alle 14:50.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 09:16   #12
CertainDeath
Member
 
L'Avatar di CertainDeath
 
Iscritto dal: Sep 2008
Città: Padova
Messaggi: 172
Quote:
Originariamente inviato da Krat0s Guarda i messaggi
L'ho fatto anch'io
Del baro lo davo a lui (CertainDeath) che in piena prova chiedeva che glie lo risolvessero =.=

Magari fosse per me.. Ho gia partecipato al Mediashow2009 posizionandomi 34 su 175.. no l'esercizio era per un amico non avendo io ancora dimestichezza con la programmazione l'ho girato qui il problema.
Poi alla fine il mio amico è arrivato ultimo
__________________
PACKARD BELL Easy Note TJ75@CPU INTEL Core i5 430M //GPU ATI RADEON HD 5470//RAM CORSAIR 4GB DDR3// HD WESTERN DIGITAL 640GB SATAII 3.0 GB/s
CertainDeath è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 10:32   #13
Krat0s
Member
 
Iscritto dal: Jun 2008
Messaggi: 109

A noi i risultati non ce li hanno dati, ma mi sa che anch'io tanto bene non mi sono posizionato
Krat0s è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v