Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - il problema di poldo
Forum - C/C++ - il problema di poldo

Avatar
pinnacchio88 (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/01/2007

Segnala al moderatore
Postato alle 18:34
Mercoledì, 17/01/2007
salve a tutti sono nuovissimo di qua...vorrei chiedervi una mano..siccome dm ho le olimpiadi d'informatica mi sto allenando sulle vecchie edizioni questo è quanto ho scritto io riguardo al al probema di poldo(www.olimpiadi-informatica.it |edizione 2004 prove regionali)ma non funge!

#include <iostream.h>
#include <fstream.h>

int main()
{
    ifstream fin("input.txt");//file di input
    ofstream fout("output.txt",ios ::app);//file di output
    int m=0,pan1[100],pan2[100],poldo1=1,poldo2=0;
    fin>>m;//carica nella variabile il num di elementi
    for (int s=0;s<m;s++)
    {
        fin>>pan2[s];//carica nelle variabile pan2 e pan1 tutti gli elementi
        pan1[s]=pan2[s];

}
    for (int s=1;s<m;s++)//con le seguenti istruzioni vado a fare le varie
    {                    //combinazioni
        
    for(int i=0;i<m;i++)
    {
            if(pan1[s]>pan2)
            while(pan1[s]>pan2)
            {
                         poldo1++;
                         pan1[s]=pan2;
            }
            else
            {
                         pan2=pan2[i+1];
                         }                  
    
    }
    }
      for(int i=0;i<m;i++)
      for(int s=poldo1;s<m;s++)
      while(pan1[s]>pan2)
            {
                         poldo1++;
                         pan1[s]=pan2;
                         fout<<pan1[s];
            }
    
return 0;
}

sono un po incasinato aiutatemi!!!

PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 20:20
Mercoledì, 17/01/2007
scrivi il testo del problema...


c'e' qualcosa in questa pizza che non mi quadra...
E' logico, e' tonda..E' facile se ci pensi..
PM Quote
Avatar
pinnacchio88 (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/01/2007

Segnala al moderatore
Postato alle 20:46
Mercoledì, 17/01/2007
questo è il testo del problema!!

Il problema
Il dottore ordina a Poldo di seguire una dieta. Ad ogni pasto non può mai mangiare un panino che abbia un peso maggiore o uguale a quello appena mangiato. Quando Poldo passeggia per la via del suo paese da ogni ristorante esce un cameriere proponendo il menù del giorno. Ciascun menù è composto da una serie di panini, che verranno serviti in un ordine ben definito, e dal peso di ciascun panino. Poldo, per non violare la regola della sua dieta, una volta scelto un menù, può decidere di mangiare o rifiutare un panino; se lo rifiuta il cameriere gli servirà il successivo e quello rifiutato non gli sarà più servito.
Si deve scrivere un programma che permetta a Poldo, leggendo un menù, di capire qual è il numero massimo di panini che può mangiare per quel menù senza violare la regola della sua dieta.  
Riassumendo, Poldo può mangiare un panino se e solo se soddisfa una delle due condizioni:
1)      il panino è il primo che mangia in un determinato pasto;
2)      il panino non ha un peso maggiore o uguale all’ultimo panino che ha mangiato in un determinato pasto.
Dati in input
La prima linea del file input.txt contiene il numero m di panini proposti nel menu. Le successive m linee contengono un numero intero non negativo che rappresenta il peso del panino che verrà servito. I panini verranno serviti nell’ordine in cui compaiono  nell’input.
Dati in output
Il file output.txt contiene il massimo numero di panini che Poldo può mangiare rispettando la dieta.
Assunzioni
I pesi di panini sono espressi in grammi, un panino pesa al massimo 10 Kg.
Un menù contiene al massimo 100 panini.
Esempi di input e output
Esempio 1
File input.txt
8
389
207
155
300
299
170
158
65
File output.txt
6
Esempio 2
File input.txt
3
22
23
27
File output.txt
1
Esempio 3
File input.txt
22
15
14
15
389
201
405
204
130
12
50
13
26
190
305
25
409
3011
43
909
987
1002
900
File output.txt
6

PM Quote