पृष्ठभूमि
90 के दशक के पहले / 00 के दशक के अंत में जब फ्लैश वेब डिज़ाइन इतना ठंडा था कि कोई भी पूर्ण फ्लैश वेबसाइट, या कम से कम एक एनिमेटेड विजेट के बिना नहीं रह सकता था, मुझे फ्लैश / एक्टीस्क्रिप्ट में एक "घुड़दौड़ दर्शक" विकसित करने के लिए काम पर रखा गया था, 80 के वीडियोगेम शैली के एनीमेशन के आकार में, इसलिए साइट के आगंतुक न केवल रेस के परिणाम पढ़ सकते थे, बल्कि वे इसे एक चलते एनीमेशन में देख सकते थे! वाह! प्रभावशाली!
उन्होंने मुझे सभी दौड़ विवरणों के साथ एक सीएसवी फ़ाइल प्रदान की: प्रारंभ और आगमन के आदेश, घोड़े के नाम, ड्राइवर के नाम, पुरस्कार, आदि। मेरे फ्लैश ऐप ने प्रत्येक दौड़ के लिए उस फ़ाइल को पढ़ा और उपरोक्त एनीमेशन प्रदर्शित किया।
आजकल फ्लैश सपोर्ट में काफी गिरावट आई है, इसलिए हमें आस्की-आर्ट को वापस करना चाहिए !
कार्य
आपका कार्य एक पूर्ण कार्यक्रम या फ़ंक्शन बनाना है जो मानक इनपुट से सीएसवी प्रारूप में रेस डेटा को पढ़ता है और रेस के एक एएससीआई-कला प्रतिनिधित्व को आउटपुट करता है जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है।
इनपुट
2 फ़ील्ड के साथ CSV डेटा: 1) ऑर्डर शुरू करें; 2) प्रारूप में फिनिश पर आगमन का समय 1.13.4(1 मिनट, 13 सेकंड, सेकंड के 4 दसवें)। अगर समय की रिपोर्ट का Rमतलब है कि घटना, गिरने या अन्य कारण से घोड़ा पीछे हट गया (दौड़ पूरी नहीं की)। नोट: आगमन का समय 2 या अधिक घोड़ों के लिए समान हो सकता है, इस मामले में वे आगमन स्थिति साझा करते हैं।
1,1.13.4
2,1.13.0
3,R
4,1.12.7
5,1.11.5
6,1.13.4
7,1.12.1
8,1.17.9
आउटपुट
प्रत्येक CSV पंक्ति के लिए, इस तरह एक रेसट्रैक का उत्पादन करें:
1_|______________4(1.13.0)___________________________
रेसट्रैक द्वारा रचित है:
1जो घोड़ों का आदेश है।_|जहां_स्पेसर है और|फिनिश लाइन है।- 50 x
_जो दूसरे के 50 दसवें भाग का प्रतिनिधित्व करता है। 5(1.13.4)आगमन समय के बाद आगमन की स्थिति है। यह घोड़ों के बीच के समय के अंतर का सम्मान करते हुए होना चाहिए। उदाहरण के लिए: यदि आप समय पर फिनिश लाइन पर पहले पहुंचे1.11.5, दूसरा समय पर आता है1.12.1, तो अंतर1.12.1 - 1.11.5 = 6दूसरे के दसवें स्थान पर है, इसलिए दूसरे घोड़े को 6 वें चरित्र पर तैनात किया जाना चाहिए, और इसी तरह। यदि समय का अंतर 50 सेकंड (या 5 सेकंड) से अधिक है, तो आपको घोड़े को अंत में स्थित करना होगा। वही अगर घोड़ाR(पीछे हटने वाला) है।
तो ऊपर CSV डेटा के लिए पूरा रेसट्रैक होना चाहिए:
F=Finish line
1_|____________________________5(1.13.4)_____________
2_|______________4(1.13.0)___________________________
3_|__________________________________________________R
4_|___________3(1.12.7)______________________________
5_1(1.11.5)__________________________________________
6_|____________________________5(1.13.4)_____________
7_|_____2(1.12.1)____________________________________
8_|__________________________________________________6(1.17.9)
012345678901234567890123456789012345678901234567890
जोड़ने की कोई आवश्यकता नहीं है F=Finish line, और अंतिम पंक्ति 0123456789...जो केवल व्याख्या करने के उद्देश्य से है।
परीक्षण के मामलों
RACE:
1,1.14.9
2,R
3,R
4,1.14.2
5,1.15.2
6,1.15.3
7,1.15.3
RACE:
1,1.13.6
2,1.13.8
3,R,
4,1.15.9
5,1.13.8
6,R,
7,1.14.4
8,1.15.6
9,1.14.1
10,1.13.9
11,1.13.2
12,1.14.3
13,1.15.0
RACE:
1,1.13.4
2,1.13.0
3,R
4,1.12.7
5,1.11.5
6,1.13.4
7,1.12.1
8,1.17.9
RACE:
1,1.17.3
2,1.20.4
3,1.17.0
4,1.18.8
5,1.18.5
6,1.18.4
7,1.18.4
8,1.17.8
9,1.18.3
10,1.18.7
11,R
RACE:
1,1.17.5
2,R
3,1.17.7
4,1.16.9
5,1.16.1
6,1.18.9
RACE:
1,1.12.8
2,1.13.0
3,1.13.2
4,1.12.7
5,1.11.5
6,1.13.0
7,1.12.1
8,1.12.8
नियम
- सबसे छोटा कोड जीतता है।
1?
Rघोड़ा होगा? (मुझे पता है कि यह वास्तविक जीवन में एक समझदार सवाल नहीं है, लेकिन यह कोड है।)