2019 ΘΕΜΑ Δ

2019 ΘΕΜΑ Δ

# 2019 ΘΕΜΑ Δ
# (c) Dieman 2025
# -*- coding: cp1253 -*-
QUE=[]
vagonia=int(input('Δώστε αριθμό βαγονιών:'))
ogos=input('Δώστε όγκο κιβωτίου:')
while ogos!=0:
    QUE.append(ogos)       # Κάθε κιβώτιο στην αποθήκη
    ogos=input('Δώστε όγκο επόμενου κιβωτίου:')
 
v=0                        # Μετρητής των βαγονιών
total=0                    # Συνολικός όγκος κιβωτίων στα βαγόνια
while v<vagonia and len(QUE)>0:
    s=0                            # Άθροισμα όγκου ανά βαγόνι
    pl=0                           # Πλήθος κιβωτίων ανά βαγόνι
    capacity=2000                  # Χωρητικότητα βαγονιού
    Stop=False 
    while capacity>0 and not Stop:
        if capacity-QUE[0]>=0:     # Aν το κιβώτιο στη θέση 0 χωρά
            pl+=1
            s+=QUE[0]
            capacity-=QUE.pop(0)   # Αφαίρεση κιβώτιου  από θέση 0
                                   #  και μείωση χωρητικότητας
            if len(QUE)==0 or capacity==0:
                Stop=True          # Αποθήκη γεμάτη ή άδειο βαγόνι
        else:
            Stop=True              # Το βαγόνι δεν έχει άλλο χώρο
        # Stop σε δύο πιθανότητες. Γεμάτο βαγόνι ή άδεια αποθήκη
        if Stop:                   # Αν σταματήσει τότε
            v+=1                   # Ολοκληρώθηκε το τρέχων βαγόνι
            total+=s               # Συνολικός όγκος όλων
 
    print 'Βαγόνι:', v,'χώρεσαν', pl,'κιβώτια συνολικού όγκου:', s
print 'Χρησιμοποιήθηκαν:', v ,'βαγόνια συνολικού όγκου:', total
if len(QUE)==0:
    print 'Συνολικός όγκος:',total
else:
    s_ap=0                       # Άθροισμα αποθήκης
    for k in QUE:
        s_ap+=k
    print 'Όγκος που παρέμεινε στην αποθήκη:', s_ap
    print Χώρος βαγονιών που δεν αξιοποιήθηκε:', 2000*v-total
2019 ΘΕΜΑ Δ