চীনা বাকি উপপাদ্য আমাদের বলে যে সবসময় আমরা একটি সংখ্যা যে বিভিন্ন মৌলিক মডিউল অধীনে যে কোন প্রয়োজনীয় remainders উত্পাদন করে খুঁজে পেতে পারেন। আপনার লক্ষ্য হ'ল বহুপাক্ষিক সময়ে এই জাতীয় সংখ্যার আউটপুট দেওয়ার জন্য কোড লিখুন। সংক্ষিপ্ততম কোড জিতেছে।
উদাহরণস্বরূপ, বলুন আমাদের এই সীমাবদ্ধতা দেওয়া হয়েছে ( %মোডের প্রতিনিধিত্ব করে):
n % 7 == 2
n % 5 == 4
n % 11 == 0
একটি সমাধান হল n=44। প্রথম বাধ্যতা কারণ সন্তুষ্ট হয় 44 = 6*7 + 2, এবং তাই 44বাকি রয়েছে 2যখন দ্বারা বিভক্ত 7, এবং এইভাবে 44 % 7 == 2। অন্য দুটি সীমাবদ্ধতা এছাড়াও পূরণ করা হয়। অন্যান্য সমাধান রয়েছে যেমন, n=814এবং n=-341।
ইনপুট
জোড়াগুলির একটি খালি খালি তালিকা (p_i,a_i), যেখানে প্রতিটি মডুলাস p_iএকটি পৃথক প্রধান এবং প্রতিটি লক্ষ্য a_iপরিসরের একটি প্রাকৃতিক সংখ্যা 0 <= a_i < p_i। আপনি যে কোনও আকারে সুবিধাজনক হিসাবে ইনপুট নিতে পারেন; এটি আসলে জোড়ের তালিকা হতে হবে না। আপনি ধরে নিতে পারেন না যে ইনপুটটি সাজানো হয়েছে।
আউটপুট
প্রতিটি সূচকের জন্য nএমন একটি পূর্ণসংখ্যা । এটি এ জাতীয়তম মানের হতে হবে না, এবং এটি নেতিবাচক হতে পারে।n % p_i == a_ii
বহুপদী সময় সীমাবদ্ধতা
সস্তা সমাধান যে শুধু চেষ্টা প্রতিরোধ করার জন্য n=0, n=1, n=2, ইত্যাদি আপনার কোড বহুপদী সময় চালানো উচিত নয় ইনপুট দৈর্ঘ্য । নোট করুন যে ইনপুটটিতে কোনও সংখ্যার mদৈর্ঘ্য রয়েছে Θ(log m), সুতরাং mএটির দৈর্ঘ্যে নিজেই বহুপদী নয়। এর অর্থ হ'ল আপনি mকোনও অপারেশন mসময় পর্যন্ত গণনা করতে বা করতে পারবেন না তবে আপনি মানগুলিতে পাটিগণিত অপারেশনগুলি গণনা করতে পারেন।
আপনি এটিকে ঘিরে ধরার জন্য অ্যানেরির মতো অক্ষম ইনপুট ফর্ম্যাটটি ব্যবহার করতে পারেন।
অন্যান্য নিষিদ্ধ
নিম্নলিখিতগুলি করার জন্য বিল্ট-ইনগুলি অনুমোদিত নয়: চীনা অনুস্মারক উপপাদ্যটি প্রয়োগ করুন, সমীকরণগুলি সমাধান করুন বা ফ্যাক্টর সংখ্যাগুলি।
আপনি বিল্ট-ইনগুলি মোডগুলি সন্ধান করতে এবং মডুলার সংযোজন, বিয়োগফল, গুণ এবং ক্ষয়ক্ষতি (প্রাকৃতিক-সংখ্যাযুক্ত হিসাবে) করতে পারেন। আপনি মডিউলার ইনভার্স, বিভাগ এবং অর্ডার সন্ধান সহ অন্যান্য অন্তর্নির্মিত মডিউলার অপারেশনগুলি ব্যবহার করতে পারবেন না ।
পরীক্ষার মামলা
এগুলি ক্ষুদ্রতম অ-নেতিবাচক সমাধান দেয়। আপনার উত্তর ভিন্ন হতে পারে। আপনার আউটপুট প্রতিটি প্রতিবন্ধকতা সন্তুষ্ট করে যদি সরাসরি পরীক্ষা করে থাকেন তবে এটি সম্ভবত আরও ভাল।
[(5, 3)]
3
[(7, 2), (5, 4), (11, 0)]
44
[(5, 1), (73, 4), (59, 30), (701, 53), (139, 112)]
1770977011
[(982451653, 778102454), (452930477, 133039003)]
68121500720666070