Altı ana kadrosundan Amerikan sitcom ait Arkadaşlar hepsi aynı maaş ödenecek konusunda anlaştılar (en azından, sezon 2 sonra) serisinin çalıştırmak boyunca. Ancak bu, hepsinin aynı miktarda hava süresine sahip olduğu veya hepsinin ekranda aynı miktarda etkileşime girdiği anlamına gelmez.
Bu mücadelede, hangi Arkadaş arkadaşlarının gerçekten en iyi olduğunu belirlemeye yardımcı olacak bir program yazacaksın .
Kurmak
Arkadaşların bir bölümünü veya sahnesini izlemeyi ve her kamera çekimi sırasında ekranda kimlerin olduğunu ve ne kadar süre boyunca tam olarak kim olduklarını not almayı düşünün .
Her karakterin adını kısaltacağız:
Sonra her kamera çekimi için (veya bir karakter çekime her girdiğinde / çıktığında), ekranda kimin olduğunu listeleyeceğiz. Örneğin:
504 CRS
200 J
345 MP
980
2000 CJMPRS
Bu diyor ki:
- 504ms boyunca Chandler, Rachel ve Ross ekrandaydı.
- Sonra 200ms için Joey öyleydi.
- Sonra 345ms için Monica ve Phoebe vardı.
- Sonra 980ms için, 6 ana karakterden hiçbiri ekranda değildi.
- Sonra 2 saniye boyunca hepsi vardı.
(Bu gerçek bir klipten değil, uydurdum.)
Aşağıdakilerin eşdeğer olacağını unutmayın:
504 CRS
1 J
199 J
345 MP
980
2000 CJMPRS
Hangi karakter kombinasyonlarının en fazla ekran süresine sahip olduğunu analiz etmek için 6 karakterin 64 olası altkümesine bakarız ve ekran sürelerini toplar. Bir kamera çekimi sırasında alt gruptaki herkes ekranda görünürse, alt gruptaki karakterlerden daha fazla karakter olsa bile , o kamera çekiminin süresi o altkümenin toplam ekran saatine eklenir.
Boş alt küme için bir istisna var - yalnızca 6 ana karakterden hiçbiri olmayan sahneler sayılır.
Yani yukarıdaki örneğin analizi şöyle olacaktır:
980
2504 C
2200 J
2345 M
2345 P
2504 R
2504 S
2000 CJ
2000 CM
2000 CP
2504 CR
2504 CS
2000 JM
2000 JP
2000 JR
2000 JS
2345 MP
2000 MR
2000 MS
2000 PR
2000 PS
2504 RS
2000 CJM
2000 CJP
2000 CJR
2000 CJS
2000 CMP
2000 CMR
2000 CMS
2000 CPR
2000 CPS
2504 CRS
2000 JMP
2000 JMR
2000 JMS
2000 JPR
2000 JPS
2000 JRS
2000 MPR
2000 MPS
2000 MRS
2000 PRS
2000 CJMP
2000 CJMR
2000 CJMS
2000 CJPR
2000 CJPS
2000 CJRS
2000 CMPR
2000 CMPS
2000 CMRS
2000 CPRS
2000 JMPR
2000 JMPS
2000 JMRS
2000 JPRS
2000 MPRS
2000 CJMPR
2000 CJMPS
2000 CJMRS
2000 CJPRS
2000 CMPRS
2000 JMPRS
2000 CJMPRS
Görebiliyoruz ki J
(sadece Joey) 2200ms ekran zamanı vardı çünkü 200'ü tek başına ve 2000 kişiyle birlikte.
Meydan okuma
Bir dize veya metin dosyası gibi bir program yazın
504 CRS
200 J
345 MP
980
2000 CJMPRS
her satırın forma sahip olduğu [time in ms] [characters on screen]
ve ekranda harcanan 6 karakterin 64 altkümesinin her birinin, her satırın forma sahip olduğu toplam süreyi ( [total time in ms for subset] [characters in subset]
yukarıdaki gibi) gösterir.
Giriş, stdin, komut satırı veya işlev için bir dize olarak alınabilir veya verileri içeren bir metin dosyasının adı olabilir.
- Milisaniye sayılar her zaman pozitif tam sayılar olur.
- Karakter harfleri her zaman sırayla
CJMPRS
(alfabetik) olacaktır. - İsteğe bağlı olarak, sahnede hiçbir karakter olmadığında (örneğin
980
) izli bir boşluk olduğunu varsayabilirsiniz . - İsteğe bağlı olarak takip eden bir yeni satır olduğunu varsayabilirsiniz.
- Giriş en az 1 satıra sahip olacak ve keyfi olarak birçok olabilir.
Çıktı, 64 satırlık bir dize olarak basılmalı veya iade edilmeli veya başka bir metin dosyasına yazılmalıdır.
- Çizgiler herhangi bir sırada olabilir.
- Karakter harflerinin
CJMPRS
sıralı olması gerekmez . - 0ms toplam süre ile alt kümeleri do listelenmiş gerekmektedir.
- İsteğe bağlı olarak, boş alt kümenin toplamından sonra bir boşluk olabilir.
- İsteğe bağlı olarak takip eden bir yeni satır olabilir.
(Bu sorun elbette daha fazla karaktere genelleştirilebilir, ancak 6 CJMPRS
Arkadaş karakterine bağlı kalacağız .)
Bayt cinsinden en kısa kod kazanır.
Aslında Arkadaşlardan zevk aldığımı ve bazı karakterlerin diğerlerinden daha önemli olduğunu düşünmediğimi unutmayın. İstatistikler olsa ilginç olurdu. ;)