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

क्रिप्टएरिथमेटिक पहेली

आपको तीन स्ट्रिंग्स a, b, और c दी गई हैं। आपका काम है हर वर्ण को इस तरह से एक अंक (digit) सौंपना, ताकि समीकरण a + b = c पूरा हो जाए। यह पहले से सुनिश्चित है कि इन स्ट्रिंग्स के लिए एक वैध अंक-असाइनमेंट (assignment) मौजूद है।

एक अंक-असाइनमेंट वैध तब माना जाता है जब यह निम्नलिखित शर्तों को पूरा करता हो:

  1. स्ट्रिंग्स a, b और c में मौजूद प्रत्येक वर्ण 0 से 9 के किसी एक अद्वितीय अंक का प्रतिनिधित्व करता हो।

  2. प्राप्त होने वाले अंकों से बनने वाले किसी भी नंबर का शुरुआती अंक शून्य (0) नहीं होना चाहिए—केवल उस स्थिति को छोड़कर जब पूरा नंबर ही 0 हो, जो कि अकेले शून्य-अंक से बना होता है।

इनपुट

इनपुट में तीन पंक्तियाँ होती हैं। प्रत्येक पंक्ति में एक स्ट्रिंग होती है। स्ट्रिंग्स a, b और c सिर्फ लोअरकेस अंग्रेज़ी अक्षरों से बनी होती हैं और इनकी लंबाई 1 से 15 के बीच (सहित) है।

यह सुनिश्चित किया गया है कि दिए गए समीकरण के लिए एक वैध अंक-असाइनमेंट समाधान मौजूद है।

आउटपुट

इन तीनों नंबरों को उसी क्रम में प्रिंट करें।

यदि समीकरण को संतुष्ट करने वाले कई वैध हल मौजूद हों, तो आप किसी भी एक वैध समाधान को प्रिंट कर सकते हैं।

उदाहरण

इनपुट

आउटपुट

send
more
money

9567
1085
10652

a
b
b

0
3
3

Constraints

Time limit: 8 seconds

Memory limit: 512 MB

Output limit: 1 MB

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