Let's Learn it Together !

ِAn educational blog from FCIS'2011 students ..


يعتبر برنامج PC^2 أهم ما فى مسابقات ال ACM, وذلك لأن عن طريقه يمكن أدارة المسابقة من كافة النواحى, ويعتبر قناة الوصل الوحيدة بين المتسابقين "Teams" والحكّام "Judges".

وفى هذا الموضوع سنتناول الاتى :
  • كيفية الدخول الى البرنامج.
  • ارسال الحلول "Submit".
  • نتائج الحلول "Run Results".
  • التوضيحات والأسألة "clarification".
  • تغير ال Password.
  • ال Score Board.



كيفية الدخول الى البرنامج :


1- ادخل على الجزء المخصص لل Teams من البرنامج.


2- أكتب أسم ال Team وال Password, غالبا ما يكون اسم ال team هو "Team + Number", سيعطى لك ورقة بها اسم ال Team وال Password.



ارسال الحلول"Submit" :



  1. تأكد من أسم فريقك, فى هذا المثال اسم الفريق "FCIS Champion".
  2. عداد تنازلى يحسب الوقت المتبقى من المسابقة, تأكد من أنك تتابعه جيدا, لأن فى تلك المسابقات الوقت من ذهب.
  3. Problem : أذا أردت أن ترسل حلّ لمسألة, أختار اسم المسألة من هنا.
  4. Language : اختار لغة البرمجة التى ترسل بها كود المسألة, اللغات المتاحة فى الغالب هى C, C++, Java.
  5. Main File : اختار ال File الذى يحتوى على كود المسألة.
  6. Test : قبل أن ترسل الكود تأكد من أنه يعمل ولا يحتوى على أى Compile Error, ولكن أحيانا هذه الخاصية لا تعمل فى بعض المسابقات.
  7. Submit : أرسل الكود الى ال Judge.
بعد عمل Submit ستظهر لك رسالة تاكيدية, بها اسم ال Team, وأسم ال Problem, وPath ال File الذى يحتوى على الكود, ولغة البرمجة التى أرسلت بها الكود.


تأكد أن كل البيانات صحيحة ثم Submit.

بعد ارسال الحلّ ستصل لك رسالة تفيد بأنك قد أرسلت الكود ووصل الى ال Judge بصورة صحيحة.



اذا لم تصلك هذه الرسالة, فتأكد من أن الكود قد تم ارساله من "Runs".


اذا تم ارسال الكود فستجد اسم ال Problem , وستجد ال Status لها New, وهذا يعنى أنك أرسلت المسألة ولم يصلك حتى الأن رد اذا كانت المسألة صحيحة أم لا.

قائمة Run ستجد بها نتائج كل الحلول التى أرسلتها أثناء المسابقة, وبها أيضا الوقت الذى أرسلتها به.


نتائج الحلول"Run Results" :


عندما ينتهى ال Judge من معرفة اذا كان الحل الذى أرسلته صحيح أم لا, بإدخال File به Input معيّن لكودك, ومقارنة ال Output الخارج من الكود الذى أرسلته, بال Output الصحيح, يرسل لك رسالة بها نتيجة الحلّ الذى أرسلته.

"Yes" فقط هى الرسالة الوحيدة التى تعنى أن الكود الذى أرسلته صحيح.



التوضيحات والأسألة "Clarification" :


أثناء المسابقة, إذا أردت أن تستفسر عن أى شئ فى أى مسألة, أو أن تسأل سؤالا تقنيا, أو أى سؤال آخر, يمكنك أرسال Clarification الى ال Judges, وهم سوف يجيبوا على استفسارك.

1- اختر Request Clar.


2- اكتب سؤالك واختار اسم ال Problem إذا كان سؤالك حول مسألة معينة, أو اختار General اذا كان سؤالك عام.
واذا تم الرد على سؤالك سيتم ارسال رسالة لك مثل رسالة ال Run Result.



لأظهار أى Clarification أضغط View Clarification.




تغير ال Password :


اذا أردت تغير ال Password المستخدمة لدخول فريقك الى البرنامج يمكنك تغيرها من Settings.


ولكن لا ننصح بهذه الخطوة, لأنها قد تتسبب فى بعض المشاكل اذا نسيت ال Password الجديد.



ال Score Board :


صفحة بها ملخص لنتائج الفرق المشتركة فى المسابقة, وتكون مرتبة حسب الأكثر حلاً, ثم الأقل وقتا, وهذه الصفحة تتجدد تلقائيا أول 4 ساعات من المسابقة, والساعة الخامسة والأخيرة تسمى "Freeze Hour", وفيها لا تتجدد ال Score Board.

A, B, C, ..... , H ترمز الى أرقام المسائل, وبجوار كل فريق تجد عدد المسائل الذى قام بحلّها (Solved), والوقت الذى استغرقه فى حلّ كل المسائل (Time), وتحت كل مسألة يُكتب (عدد مرات ارسال الحلّ / الوقت الذى استغرقه فى الحلّ).



يتم حساب الوقت لكل مسألة من بداية المسابقة, فمثلا فريق CSC06 قاموا بحلّ المسألة E بعد 84 دقيقة من بداية المسابقة, ثم C بعد 225 دقيقة من بداية المسابقة.

فى حالة ارسال حلّ خاطئ مرة أو أكثر, وبعد ذلك مرة صحيحة, فأن وقت حلّ المسألة يضاف اليه Penalty Time ويكون 20 دقيقة زائدة عن كل Submission خاطئ, مثال على ذلك فرق CSC06 قاموا بارسال المسألة G مرة خاطئة والثانية صحيحة, وأرسلوا الحلّ الصحيح بعد 140 دقيقة من بداية المسابقة, يضاف عليهم 20 دقيقة Penalty, اذن الوقت المحتسب للمسألة 160 دقيقة.

لاحظ أن الوقت الكلّى للTeam يضاف اليه فقط وقت المسائل التى حصل ال Team بها على Yes.

ال Score Board مفيدة للغاية, يمكنك من خلالها معرفة المسائل التى قام بحلّها كل الفرق, وغالبا ما تكون المسائل الأكثر سهولة هى الأكثر حلاً.


ملحوظة : هنا نسخة PDF من المقال.