Module: डायनेमिक प्रोग्रामिंग में पैटर्न - 2


Problem

2 /5


जूमा

Problem

क्लो ने हाल ही में ज़ूमा को अपने फ़ोन में इंस्टॉल किया है। खिलाड़ी को n रत्नों की एक पंक्ति दी जाती है, जिसके i-वें का रंग ci होता है। खेल का उद्देश्य — जितना हो सके कुछ सेकंड में सभी पत्थरों को नष्ट कर दें।

एक सेकंड में, च्लोए किसी भी सबस्ट्रिंग (आसन्न पत्थरों का एक क्रम) चुन सकता है जो एक पैलिंड्रोम है और इसे हटा सकता है। इस सबस्ट्रिंग को हटाने के बाद, शेष पत्थरों को फिर से एक सतत पंक्ति बनाने के लिए स्थानांतरित कर दिया जाता है। पूरी लाइन को नष्ट करने के लिए कम से कम कितने सेकंड चाहिए?

याद रखें कि एक स्ट्रिंग (या सबस्ट्रिंग) एक पैलिंड्रोम है यदि यह बाएं से दाएं और दाएं से बाएं समान पढ़ता है। इस मामले में, इसका मतलब यह है कि पहले पत्थर का रंग आखिरी पत्थर के रंग के बराबर है, दूसरे का रंग अंत से पहले के रंग के बराबर है, और इसी तरह।

इनपुट:
इनपुट की पहली पंक्ति में एक पूर्णांक n (1 ≤ n ≤ 500) — प्रारंभिक पंक्ति में पत्थरों की संख्या।
दूसरी पंक्ति में n पूर्णांक हैं, जिनमें से i-th ci (1 ≤ ci ≤ n) &mdash के बराबर है ; प्रारंभिक पंक्ति में i-वें पत्थर का रंग।

आउटपुट:
एक पूर्णांक प्रिंट करें — सभी रत्नों को हटाने के लिए आवश्यक सेकंड की न्यूनतम संख्या।

उदाहरण:
  <तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स;"> <शरीर> इनपुट आउटपुट 3
1 2 1 1 3
1 2 3 3 7
1 4 4 2 3 2 1 2
स्पष्टीकरण:
तीसरे उदाहरण में अनुक्रम है [1, 4, 4, 2, 3, 2, 1] -> [1, 4, 4, 1] -> []