एक फ़ंक्शन या प्रोग्राम लिखें जो पाठ के ब्लॉक को संसाधित करता है और नया पाठ लौटाता है। सबसे छोटा वैध कार्यक्रम जीतता है।
पाठ के ब्लॉक में प्रत्येक पंक्ति में निम्न प्रारूप होगा:
12:34,56
पहली संख्या लाइन आईडी है, अन्य दो अल्पविराम से अलग संख्या अन्य लाइनों के संदर्भ हैं।
इनपुट पाठ में संख्याएँ 0. से अधिक या बराबर किसी भी पूर्णांक हो सकती हैं। सभी संख्याएँ ASCII एन्कोडेड दशमलव में बिना किसी अग्रणी शून्य के होंगी। कोई डुप्लीकेट लाइन आईडी नहीं होगी। गैर-मौजूद लाइन आईडी का कोई संदर्भ नहीं होगा, हालांकि ऐसी रेखा आईडी हो सकती हैं जो संदर्भित नहीं हैं।
आउटपुट टेक्स्ट में सबसे कम संख्या वाली लाइन को टेक्स्ट ब्लॉक की शुरुआत में ले जाया जाएगा और 0. पर फिर से सेट किया जाएगा। इस लाइन के किसी भी संदर्भ को भी अपडेट किया जाना चाहिए। उस पंक्ति पर पहला संदर्भ 0 या 1 होना चाहिए। दूसरा संदर्भ केवल 2 हो सकता है यदि पहला संदर्भ 1 है। अन्यथा यह 0 या 1 होना चाहिए।
सभी पंक्तियों में आरोही, वृद्धिशील क्रम (कोई छोड़ दिया संख्या) नहीं होना चाहिए। यदि आपके पास लाइन n-1 का पिछला संदर्भ है या वर्तमान लाइन ID n है तो आप केवल पंक्ति n का संदर्भ ले सकते हैं। ऐसी कोई लाइनें नहीं होनी चाहिए जिन्हें निचली पंक्ति आईडी द्वारा संदर्भित नहीं किया जाता है, केवल पंक्ति 0. को छोड़कर। अंतिम आउटपुट से पहले ऐसी कोई भी लाइनें हटा दी जानी चाहिए।
आप मान सकते हैं कि इनपुट पाठ हमेशा सही प्रारूप में होता है।
टेस्ट इनपुट # 1:
45:73,24
78:24,78
89:24,73
73:45,3
72:3,24
3:24,24
24:3,89
पुनर्क्रमित:
3:24,24
24:3,89
89:24,73
73:45,3
45:73,24
78:24,78
72:3,24
renumbered:
0:1,1
1:0,2
2:1,3
3:4,0
4:3,1
78:1,78
72:0,1
अंतिम आउटपुट के लिए हटा दी गई अपरिवर्तित लाइनें:
0:1,1
1:0,2
2:1,3
3:4,0
4:3,1
बेशक, आपके कार्यक्रम को इस आदेश का पालन करने की आवश्यकता नहीं है, बस सही आउटपुट का उत्पादन करें। आउटपुट में टेक्स्ट का एक ब्लॉक या आपकी भाषा में निकटतम समतुल्य होना चाहिए, अर्थात चरित्र डायरेक्ट आउटपुट द्वारा कोई वर्ण नहीं। आप या तो इसे (पसंदीदा) वापस कर सकते हैं या पूरे ब्लॉक को सीधे आउटपुट कर सकते हैं। मान लें कि आपका आउटपुट किसी अन्य फ़ंक्शन या प्रोग्राम को पास कर दिया जाएगा।
टेस्ट इनपुट # 2
5:2,3
7:3,2
2:4,2
4:2,3
3:4,3
आउटपुट:
0:1,0
1:0,2
2:1,2
टेस्ट इनपुट # 3
7:6,3
3:9,7
9:7,3
2:9,6
6:6,7
आउटपुट:
0:1,2
1:3,4
2:2,3
3:2,4
4:1,3