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

आठ रानियाँ

आपको एक 8x8 आकार का शतरंज बोर्ड दिया गया है। इसमें आपकी ज़िम्मेदारी है कि आप आठ रानियाँ इस तरह रखें कि कोई भी दो रानियाँ एक-दूसरे पर हमला न कर सकें। दो रानियों को एक-दूसरे पर हमला कर रही समझा जाता है, यदि वे एक ही पंक्ति, स्तंभ या विकर्ण (diagonal) पर स्थित हों। इस शतरंज बोर्ड पर कुछ खाने स्वतंत्र (.) हैं और कुछ आरक्षित (*) हैं। आप रानियाँ केवल स्वतंत्र खानों पर ही रख सकते हैं, लेकिन ध्यान रहे कि आरक्षित खाने रानियों को एक-दूसरे पर हमला करने से नहीं रोकते।
आपको यह पता लगाना है कि शतरंज बोर्ड पर रानियाँ रखने के कुल कितने संभावित तरीके हैं, जिनमें किसी भी दो रानियों के बीच हमला न हो सकता हो।

इनपुट

इनपुट में आठ पंक्तियाँ होती हैं, जिनमें से प्रत्येक पंक्ति में आठ अक्षर होते हैं। प्रत्येक अक्षर किसी खाने का प्रतिनिधित्व करता है: . का मतलब स्वतंत्र खाना है और * का मतलब आरक्षित खाना।

आउटपुट

एकमात्र सही पूर्णांक अपेक्षित है, जो उन सभी संभावित तरीकों की गिनती दर्शाता है, जिनसे आठ रानियाँ बिना एक-दूसरे पर हमला किए इस बोर्ड पर रखी जा सकती हैं।

उदाहरण

इनपुट
आउटपुट
........ ........ ..*..... ........ ......*. ........ ...*.... ........
72
........ ........ ....... ........ ........ .....**. ....... ........
65
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

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