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

ग्राफ से वर्टेक्स हटाना

एक अविनिदेशित (undirected) ग्राफ दिया गया है, जिसमें v वर्टेक्स और e एज हैं। आपको प्रत्येक वर्टेक्स का "महत्व" (importance) प्रिंट करने के लिए कहा गया है। इसके लिए, प्रत्येक वर्टेक्स के मामले में, उससे जुड़े सभी एज हटाने हैं और उसके बाद उस वर्टेक्स से जुड़े एज हटने के बाद की ऐडजेंसि मैट्रिक्स (adjacency matrix) को प्रिंट करना है। ध्यान रखें कि अलग-अलग वर्टेक्स के लिए यह प्रक्रिया स्वतंत्र होनी चाहिए। यानी, किसी एक वर्टेक्स के एज हटाने का असर दूसरे वर्टेक्स पर नहीं पड़ना चाहिए।

इनपुट

इनपुट की पहली पंक्ति में दो पूर्णांक v (1 ≤ v ≤ 50) और e (1 ≤ e ≤ 200) होंगे।

अगली e पंक्तियों में दो पूर्णांक v1, v2 (1 ≤ v1, v2 ≤ v) दिए होते हैं जो इंगित करते हैं कि वर्टेक्स v1 वर्टेक्स v2 से कनेक्टेड है।

आउटपुट

प्रोग्राम को v ऐडजेंसि मैट्रिक्स प्रिंट करनी चाहिए, जिनके बीच में एक खाली पंक्ति (newline) हो। ये मैट्रिक्स उस ग्राफ का कनेक्टिविटी दिखाएंगी जिसे संबंधित वर्टेक्स से जुड़े एज हटाने के बाद प्राप्त किया गया हो। इन मैट्रिक्स को वर्टेक्स के क्रम के अनुसार प्रिंट करें।

उदहारण

इनपुट

आउटपुट

3 3
1 2
2 3
3 1

0 0 0
0 0 1
0 1 0

0 0 1
0 0 0
1 0 0

0 1 0
1 0 0
0 0 0

व्याख्या

# प्रारंभिक ऐडजेंसि मैट्रिक्स
0 1 1
1 0 1
1 1 0

# वर्टेक्स 1 हटाने के बाद
0 0 0
0 0 1
0 1 0

# वर्टेक्स 2 हटाने के बाद
0 0 1
0 0 0
1 0 0

# वर्टेक्स 3 हटाने के बाद
0 1 0
1 0 0
0 0 0

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB