एल्गोरिथ्म्स और डेटा स्ट्रक्चर्स

डिक्शनरी संचालन (Dictionary Operations)

आपके पास एक खाली डिक्शनरी दी गई है और साथ ही n क्वेरीज़ भी दी गई हैं। हर क्वेरी निम्नलिखित दो प्रकारों में से एक हो सकती है:
  • प्रकार 1: किसी स्ट्रिंग को डिक्शनरी में जोड़ें।
  • प्रकार 2: जाँच करें कि कोई स्ट्रिंग डिक्शनरी में मौजूद है या नहीं।
आपका कार्य एक ऐसा प्रोग्राम बनाना है जो इन क्वेरीज़ को कुशलता से प्रोसेस करे।
यदि प्रकार 2 की क्वेरी पर दी गई स्ट्रिंग डिक्शनरी में मौजूद है, तो Yes प्रिंट करें; अन्यथा, No प्रिंट करें।

Input (इनपुट)

इनपुट में कई पंक्तियाँ होती हैं। पहली पंक्ति में एक पूर्णांक q (1 ≤ q ≤ 10^5) दिया गया है, जो क्वेरीज़ की संख्या दर्शाता है।
अगली q पंक्तियाँ क्वेरीज़ का विवरण देती हैं। प्रत्येक पंक्ति की शुरुआत एक पूर्णांक type (1 या 2) से होती है, जो क्वेरी का प्रकार बताता है।
  • अगर type = 1 हो, तो उसके बाद एक स्पेस और स्ट्रिंग s (1 ≤ |s| ≤ 1000) आती है, जिसे डिक्शनरी में जोड़ना होता है। यह स्ट्रिंग सिर्फ लोअरकेस अंग्रेज़ी अक्षरों से बनी होती है।
  • अगर type = 2 हो, तो उसके बाद एक स्पेस और स्ट्रिंग s (1 ≤ |s| ≤ 1000) आती है, जिसकी डिक्शनरी में मौजूदगी जाँची जानी है। यह स्ट्रिंग भी सिर्फ लोअरकेस अंग्रेज़ी अक्षरों से बनी होती है।
यह गारंटी दी जाती है कि सभी क्वेरी स्ट्रिंग्स की कुल लंबाई से अधिक नहीं होगी।

Output (आउटपुट)

प्रकार 2 की प्रत्येक क्वेरी के लिए, अगर स्ट्रिंग डिक्शनरी में मौजूद है, तो Yes प्रिंट करें; अन्यथा, No प्रिंट करें।

उदाहरण

इनपुट
आउटपुट
5 1 abc 1 xyz 2 cba 1 def 2 xyz
No Yes

Constraints

Time limit: 4 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue