हाँ, अच्छा पुराने GIF। अपनी बहुमुखी प्रतिभा के लिए पसंद किया, अपने पेटेंट के लिए नफरत और आंशिक रूप से अपनी सीमाओं (और पेटेंट) के कारण obifleted, GIF होते हैं, रंग पैलेट के कोर पर, और पैलेट-अनुक्रमित छवि LZZ एल्गोरिथ्म का उपयोग कर संकुचित।
आपका कार्य एक प्रोग्राम लिखना है जो मानक इनपुट से एएससीआईआई पीपीएम प्रारूप ("पी 3" मैजिक नंबर) में एक छवि पढ़ता है , और जीआईएफ प्रारूप में समान छवि (समान पिक्सेल-बाय-पिक्सेल) को मानक आउटपुट में लिखता है। आउटपुट या तो बाइनरी फॉर्म में हो सकता है, या एएससीआईआई पाठ प्रत्येक बाइट के साथ 0 और 255 (समावेशी) के बीच एक संख्या द्वारा दर्शाया जाता है, जिसे व्हाट्सएप द्वारा अलग किया जाता है।
इनपुट छवि को 256 से अधिक विभिन्न रंगों के नहीं होने की गारंटी है।
स्कोरिंग:
आपके कार्यक्रम को 3 नमूना चित्रों पर परीक्षण किया जाएगा, और आपके स्कोर की गणना इस प्रकार की जाएगी:
कार्यक्रम का आकार + योग (आउटपुट आकार - प्रत्येक नमूना छवि के लिए संदर्भ आकार)
सबसे कम स्कोर जीतता है।
आवश्यकताएँ:
- आपके कार्यक्रम को विभिन्न आकारों की किसी भी प्रकार की छवियों के साथ काम करना चाहिए, और नमूना छवियों तक सीमित नहीं होना चाहिए। उदाहरण के लिए, आप आयामों को 2 के गुणक होने के लिए सीमित कर सकते हैं या मान सकते हैं कि पीपीएम अधिकतम रंग 255 है, लेकिन यह अभी भी इनपुट छवियों की एक विस्तृत विविधता के साथ काम करना चाहिए।
- आउटपुट एक वैध जीआईएफ फ़ाइल होनी चाहिए जिसे किसी भी आज्ञाकारी कार्यक्रम के साथ लोड किया जा सकता है (एएससीआईआई आउटपुट विकल्प का उपयोग करने पर बाइनरी में वापस कनवर्ट करने के बाद)।
- आप किसी भी इमेज प्रोसेसिंग फ़ंक्शंस (बिल्ट-इन या थर्ड-पार्टी) का उपयोग नहीं कर सकते, आपके प्रोग्राम में सभी प्रासंगिक कोड होने चाहिए।
- आपका प्रोग्राम लिनक्स में स्वतंत्र रूप से उपलब्ध सॉफ्टवेयर का उपयोग करके चलाने योग्य होना चाहिए।
- स्रोत कोड को केवल ASCII वर्णों का उपयोग करना चाहिए।
नमूना चित्र:
यहां 3 नमूना चित्र दिए गए हैं जो स्कोरिंग के लिए उपयोग किए जाएंगे। आप पीपीएम फ़ाइलों के साथ एक ज़िप संग्रह डाउनलोड कर सकते हैं (उस पृष्ठ के शीर्ष पर डाउनलोड बटन का उपयोग करें)। या आप उन्हें नीचे दिए गए png चित्रों से परिवर्तित कर सकते हैं, निम्नलिखित कमांड के साथ ImageMagick का उपयोग कर सकते हैं:
convert file.png -compress none file.ppm
मैं पुष्टि के लिए पीपीएम फाइलों के एमडी 5 चेकसम भी प्रदान कर रहा हूं।
1. अम्बर
संदर्भ का आकार: 38055
एमडी 5 पीपीएम का चेकसम: d1ad863cb556869332074717272780
2. नीलापन
संदर्भ का आकार: 28638
एमडी 5 पीपीएम का चेकसम: e9ad410057a5f6c25a22a534259dcf3a
3. मिर्च
संदर्भ का आकार: 53586
एमडी 5 पीपीएम का चेकसम: 74112dbbb8b7de5216f9e24c2e1a627