مشكلة

أنت جزء من فريق علمي يقوم بتطوير تقنية جديدة لتصوير الهياكل البلورية على المستوى الجزيئي. تتضمن هذه التقنية نفخ رياح دقيقة جدًا على سطح البلورة بزوايا مختلفة لاكتشاف الحدود (المشار إليها بواسطة الجزيئات المعرضة للرياح). ويتكرر ذلك مع اتجاهات الرياح المختلفة ويتم تسجيل الحدود الملحوظة لكل اتجاه. لقد قام فريقك بالفعل بجمع البيانات، ولكن - كما هو الحال في كثير من الأحيان مع العلوم التطبيقية - الآن يجب أن يبدأ العمل الحقيقي، أي التحليل.

بالنسبة لبلورة معينة، سوف تتلقى الاتجاهات التي تهب بها الرياح على السطح، ومواقع جميع الحدود التي واجهتها كل من هذه الرياح. بالنسبة للرياح التي تهب في الاتجاه (wx, wy)، يتم تعريف الحدود على أنها موقع (x, y) بحيث يوجد الجزيء عند (x, y) ولا يوجد جزيء عند (x - wx, y - wy). لاحظ أنه لأسباب فنية، ليس بالضرورة أن يكون wx وw أوليين نسبيًا.

قد لا تحدد البيانات بشكل فريد بنية البلورة. يجب أن تجد الهيكلين الفريدين مع الحد الأدنى والحد الأقصى لعدد الجزيئات المتوافقة مع الملاحظات.

على سبيل المثال، في العينة الأولى المدخلة، تصطدم الرياح المعطاة مباشرة بتسعة جزيئات مختلفة. يجب أن يكون هناك جزيء في الموقع (3، 3) وإلا فإن (4، 2) سيكون بمثابة حد للريح الثالثة. ولأسباب مماثلة، يجب أن تكون هناك جزيئات عند (4، 4) و (5، 5). لا يمكن أن يكون هناك أي جزيئات أخرى لأنها قد تؤدي إلى ملاحظات إضافية لبعض الرياح.

مدخل

يحتوي السطر الأول من الإدخال على ثلاثة أعداد صحيحة dx و dy و k، حيث dx و dy (1 ≥ dx, dy ≥ 103) هي الأبعاد القصوى للبنية البلورية، و k (1 ≥ k ≥ 10) هو عدد مرات هبت الرياح على البلورة.

يحدد كل سطر من خطوط k المتبقية البيانات الخاصة بريح واحدة. يبدأ كل من هذه الخطوط بعددين صحيحين wx وwy (-dx ≥ wx ≥ dx و-dy ≥ wy ≥ dy، لكن ليس كلاهما صفرًا) للدلالة على اتجاه الريح. ثم يأتي عدد صحيح b (0 ≥ b ≥ 105) يعطي عدد الحدود التي واجهتها هذه الرياح. وينتهي السطر بأزواج b متميزة من الأعداد الصحيحة x، y (1 ≥ x ≥ dx و 1 ≥ y ≥ dy) مع إدراج كل حد تمت ملاحظته.

قد تفترض أن المدخلات متوافقة مع بلورة واحدة على الأقل، وأنه لا توجد جزيئات خارج الأبعاد المحددة.

انتاج

إخراج تمثيلين نصيين للبنية البلورية مفصولة بخط فارغ. يحتوي كل هيكل على صفوف dy من أحرف dx، مع الزاوية العلوية اليسرى المقابلة للموقع (1، 1). الأول هو البنية التي تحتوي على أقل عدد من الجزيئات المتوافقة مع الملاحظات، والثاني هو الحد الأقصى. استخدم "#" للموقع الذي يوجد به جزيء و"." للموقع الذي لا يوجد فيه جزيء.

إدخال العينة

6 6 3
1 1 3 3 1 1 3 2 2
0 2 6 3 1 1 3 2 2 6 4 5 3 4 2
1 -1 4 1 3 2 4 3 5 4 6

إخراج العينة

..#...
.#.#..
#.#.#.
.#.#.#
..#.#.
...#..

..#...
.#.#..
#.#.#.
.#.#.#
..#.#.
...#..

حل هذه المشكلة باستخدام pythonShare Prompt
{"evolved_from": null, "kind": "human", "source": "ewof/sharegpt-instruct-unfiltered-deduped"}