هر تیم برای شرکت در مسابقه باید به ناخواناترین شکل ممکن، برنامه ای به زبان ++c بنویسد که با هر بار اجرا شدن، رشتهای معین به طول حداقل یک و حداکثر سه کاراکتر را روی صفحه نمایش چاپ کند. توجه: این رشته می بایست همواره ثابت باشد، نه آنکه در هر بار اجرا رشته ای متفاوت چاپ کند، و یا اینکه با انتقال به کامپیوتری دیگر، خروجی متفاوتی بدهد.
تیم ها آخرین نسخه برنامه هایشان را باید تا پایان وقت اداری تاریخ اعلام شده به داوران تحویل دهند. تیمها می توانند در طول مدت پیاده سازی کد، برنامه ها را به داوران ارائه دهند و توضیحات لازم را دریافت کنند اما پس از اتمام مهلت ارسال کد، این برنامه ها از نظر داوران غیراستاندارد باشند تیم از دور مسابقه حذف میشود. مسابقه طی دو مرحله در صبح و عصر برگزار میشود.
در مرحله نخست، کلیه تیم های شرکت کننده با قرعه کشی در چند گروه تقسیم میشوند. در این مرحله هر تیم، برنامه سایر تیم های هم گروهش را در اختیار می گیرد تا در فرصت مسابقه، خروجی این برنامه ها را حدس بزند. در پایان این مرحله، تیمی که خروجی برنامه اش توسط تیم های کمتری کشف شود تیم برنده گروه است. در بین تیم هایی که برنامه هایشان از این نظر امتیاز مساوی دارند تیمی برنده است که تعداد کد بیشتری را شکافته باشد! و در صورت مساوی بودن تعداد مسائل حل شده، تیمی برنده است که مجموع زمان حل مسائلش کمتر باشد. در مدت مسابقه، هر تیمی که خروجی یک برنامه را حدس بزند باید حدسش را با داور گروه در میان بگذارد تا داور درستی یا نادرستی حدس را اعلام کند. در پایان مرحله نخست مسابقه، تیمهای دارای بیشترین امتیاز از هر گروه به مرحله نهایی راه می یابند. به همین دلیل تیم ها بهتر است در هنگام اعلام خروجی یک برنامه دقت کنند زیرا به ازای هر حدس نادرست، مجموع زمان حل مسائلشان ده دقیقه افزوده میشود! پس از پایان زمان یک ساعته صرف غذا، نتایج مسابقات صبح اعلام می شود و تیم های برگزیده هر گروه برای شرکت در دور نهایی مسابقه به سالن مسابقه باز میگردند.
پس از صرف ناهار و استراحتی کوتاه، مرحله نهایی مسابقه بین تیم های برگزیده گروه ها آغاز می گردد. در این مرحله هم مانند مرحله نخست به هر تیم، کد برنامه های تیم های دیگر داده میشود تا در پایان این مرحله، تیم برنده مسابقه تعیین شود. بخاطر داشته باشید که اعضای هر تیم در حین مسابقه حق مشورت با یکدیگر یا استفاده از انواع کتاب، جزوه، ماشین حساب و خط کش و ... را دارند اما استفاده از هرگونه کامپیوتر یا موبایل در حین مسابقه ممنوع میباشد. البته جدول کدهای اسکی معادل کاراکترها در اختیار هر تیم قرار میگیرد. همچنین از آنجایی که مسابقه برای کشف کدهایی است که با دستورات آشنا به طرز مبهمی نوشته شده اند میباشد، بنابراین اگر دستوری نا آشنا در کد و جود دارد، میتوانید از داوران بپرسید، تا پاسخ آن را به شما ارائه دهند.
هدف از مسابقه کدنویسی مبهم، تخمین مهارت شرکتکنندگان در نوشتن کدهای ناخوانا یا در اصطلاح برنامهنویسان همان کد کثیف (Dirty Code) است. یک برنامه را هنگامی ناخوانا مینامیم که اگر کد برنامه در اختیار برنامهنویس دیگر قرار دهیم و او معنای تکتک دستورات برنامه را بداند، شیوه کنار هم چیده شدن دستورات و پرشهای تودرتوی میان آنها بهحدی پیچیده و گیجکننده باشد که برنامهنویس بدون اجرای این برنامه، نتواند سردر آورد که خروجی برنامه چیست.