एल्गोरिदम और डेटा संरचनाएँ

ग्राफ़ का पूरक (Complement) खोजें

आपको एक अविदिश (undirected) ग्राफ़ दिया गया है, जिसमें v शीर्ष (vertices) और e धारें (edges) हैं। आपका कार्य इसका पूरक (complement) ढूँढ़ना है।

किसी ग्राफ़ का पूरक वह ग्राफ़ होता है, जिसमें उन सभी शीर्षों के बीच धाराएँ मौजूद होती हैं, जिनके बीच मूल ग्राफ़ में धाराएँ नहीं होतीं। साथ ही, मूल ग्राफ़ में जिन शीर्षों के बीच धारा होती है, पूरक ग्राफ़ में उन शीर्षों के बीच धारा नहीं होगी।

profound.academy-graph-complement.drawio (1).png

इनपुट

इनपुट की पहली पंक्ति में दो पूर्णांक v (1 ≤ v ≤ 500) एवं e (1 ≤ e ≤ 100 000) होते हैं।

इसके बाद की e पंक्तियों में प्रत्येक पंक्ति में दो पूर्णांक v1 एवं v2 (1 ≤ v1, v2 ≤ v) दिए जाते हैं, जिसका अर्थ है कि शीर्ष v1 और शीर्ष v2 परस्पर जुड़े हुए हैं।

आउटपुट

प्रोग्राम को पूरक ग्राफ़ की adjacency list प्रिंट करनी चाहिए। प्रत्येक पंक्ति की शुरुआत किसी शीर्ष की आईडी से हो, उसके बाद कोलन (:), और फिर उसके कनेक्शन हों। प्रत्येक पंक्ति में कनेक्शन्स को स्पेस से अलग किया जाना चाहिए। शीर्षों और कनेक्शन्स, दोनों को किसी भी अनुक्रम में प्रिंट किया जा सकता है।

उदाहरण

इनपुट

आउटपुट

4 4
1 2
4 2
4 1
3 4

1: 3
2: 3
3: 1 2
4:

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB