ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2015-04-10 00:10:51 -0500
  • مشاهده شده: 204 بار
  • بروز شده: 2015-04-10 02:01:13 -0500

پرسش‌های مشابه:

سوال ۱ روز دوم مرحله ۲ دوره ۲۳: رشته‌ی نزدیک

بازی رنگی - سوال ۱ - مرحله ۲ - ۱۳۹۳

وزنه‌ها و ماشین جادویی - سوال ۲ - مرحله ۲ - ۱۳۹۳

گاوی خسیس - سوال ۳ - مرحله ۲ - ۱۳۹۳

انتقال مهره‌های گاوی - سوال ۴ - مرحله ۲ - ۱۳۹۳

یافتن کوچکترین پیچ و مهره با مقایسه آنها

دنباله و جادوگر - دوره ی 24 - مرحله ی 2

دوربین های عکاسی

مسئله ی مسیر و شبکه - مرحله ی 2 – دوره ی 23

بازی خاموش کردن چراغ ها

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

مرتب سازی کارتی!!!(المپیاد کامپیوتر دوره سیزدهم روز دوم سوال هفتم )

2

چون متن سوال زیاده لینکش رو از المپیادیا میزارم : مرتب سازی کارتی ...

ویرایش:

شرکت YSC دستگاه‌های الکترونیکی مختلفی را تولید و به بازار روانه کرده است. از جمله دستگاه کارت‌خوان٬ دستگاه مقایسه‌گر و کارت‌های مغناطیسی. هر یک از دستگاه‌های کارت‌خوان و نیز هر کارت مغناطیسی یک حافظه دارد که یک عدد در آن ذخیره می‌شود. هنگامی که یک کارت مغناطیسی را به دستگاه کارت‌خوان وارد کنیم دو نوع عمل می‌توانیم انجام بدهیم:

با فشار دادن دکمه‌ی «سبز» دستگاه کارت‌خوان٬ عدد ذخیره‌شده در کارت پاک می‌شود و به ‌جای آن عدد موجود در حافظه‌ی کارت‌خوان نوشته می‌شود. با فشار دادن دکمه‌ی «قرمز» عکس این عمل انجام می‌شود٬ یعنی عدد ذخیره‌شده در حافظه‌ی کارت‌خوان پاک می‌شود و به جای آن عدد موجود در حافظه‌ی کارت نوشته می‌شود. کار دستگاه مقایسه‌گر آن است که وقتی دو کارت را به طور هم‌زمان به دو ورودی آن وارد کنیم دستگاه نشان می‌دهد که عدد ذخیره شده در کدام یک از کارت‌های بزرگ‌تر است. در صورت مساوی بودن این دو عدد دستگاه آن را نیز مشخص می‌دهد.

در یک روز تعطیل٬ شرکت YSC تصمیم گرفت یک بازی دسته‌جمعی بین ۱۰۰ کارمند خود برگزار کند. برای این بازی ۱۰۰ دستگاه کارت‌خوان روی یک میز طولانی به ترتیب از چپ به راست قرار داده شد. هم‌چنین دو عدد کارت و یک دستگاه مقایسه‌گر و یک قلم و دفترچه‌ی یادداشت به هر کارمند داده شد.

این بازی در ۱۰۱ مرحله انجام می‌شود. در هر مرحله‌ی بازی٬ هر یک از کارمندان می‌تواند یکی از دستگاه‌های کارت‌خوان را انتخاب و یک بار از آن استفاده کند (یعنی یکی از کارت‌های خود را وارد آن دستگاه نماید٬ فقط یکی از کلیدهای سبز یا قرمز را فشار دهد و کارت را خارج کند). توجه کنید که هر دستگاه کارت‌خوان در هر مرحله تنها می‌تواند مورد استفاده‌ی یک کارمند قرار گیرد. اما هر کارمند می‌تواند به هر تعداد و در هر زمان از دستگاه مقایسه‌گر خود استفاده کند.

چون اعداد به صورت الکترونیکی در حافظه‌ها ذخیره می‌شوند کارمندان به هیچ روشی نمی‌توانند از مقدار عددهای ذخیره شده در حافظه‌ی کارت‌خوان‌ها یا کارت‌ها مطلع شوند. هم‌چنین هیچ‌یک از کارمندان نمی‌تواند کارت خود را در اختیار همکارانش بگذارد یا به دستگاه مقایسه‌گر دیگران وارد کند.

در ابتدای بازی در حافظه‌ی هر یک از دستگاه‌های کارت‌خوان یک عدد ذخیره شده است به طوری که این اعداد از هم متمایزند. هدف آن است که اعدادی که در ابتدای بازی در حافظه‌ی کارت‌خوان‌ها ذخیره شده بودند در انتهای مرحله‌ی ۱۰۱ام به صورت مرتب‌شده از چپ به راست در حافظه‌ی کارت‌خوان‌ها قرار داشته باشند. یعنی کوچک‌ترین عدد از بین ۱۰۰ عدد اولیه٬ در پایان بازی در حافظه‌ی سمت چپ‌ترین کارت‌خوان٬ دومین عدد در حافظه‌ی کارت‌خوان بعدی و … و به همین ترتیب بزرگ‌ترین عدد در حافظه‌ی سمت راست‌ترین کارت‌خوان ذخیره شده باشد.

یک شیوه طراحی کنید که اگر کارمندان براساس آن قبل از شروع بازی هماهنگ شوند و بر طبق آن بازی کنند٬ به هدف بازی دست پیدا کنند. برای این کار نشان دهید که یک کارمند دل‌خواه در هر مرحله چه کاری و با کدام کارت‌خوان انجام می‌دهد.

مرحله۲
2015-04-10 00:10:51 -0500
بیخیال 99 ● 1 ● 2 ● 8
پاک‌کردن   ویرایش سوال
نظرات

سلام میدونستید انجمن علمی نخبگان دانشگاه صنعتی شریف مسابقه تخصصی مهارت سنجی برنامه نویسی و داده کاوی گذاشته است آدرس سایتش www.fanavard.com

2015-08-06 07:20:00 -0500 امیر شکری

سلام میگم یک سر به سایت www.fanavard.ir بزنید. مسابقات برنامه نویسی شون شروع شده. گواهی رسمی از طرف دانشگاه شریف می ده. 50 تا سکه هم جایزشه

2016-10-27 07:39:41 -0500 امیر شکری

1 پاسخ

4

کارمند ها و دستگاه هارو از 0 تا 99 شماره کذاری میکنیم روز اول کارمند iام عدد دستگاه iام رو روی کارت راستش کپی میکنه بعد از آن از روز دوم تا روز 100 که 99 روز است هر کس مقدار کارت راستش رو با عدد موجود رو دستگاه های دیگر مقایسه میکند و تعداد اعداد کوچک تر از آن را میشمارد برای این کار روز jام کارمند iام به دستگاه i+j)%100) رفته و عدد آن را روی کارت چپش کپی مکند سپس با کارت راستش مقایسه میکند پس بعد از 100 مرحله هر کس یک عدد دارد که میداند چند عدد از آن کوچکتر هستند در مرحله 101 هر کس که i عدد از عدد موحود روی کارتش کوچک تر بود عددش را روی دستگاه i کپی میکند. ببخشید اگه بد توضیح داده بودم اولین فعالیتمه تو کاهو.

2015-04-10 02:01:13 -0500
احمدرضا 358 ● 2 ● 7
پاک‌کردن   ویرایش پاسخ
نظرات

جا داره که بگم که این همون مرتب سازی شمارشیه

2015-04-10 12:50:12 -0500 عطا

ممنون خودم سعی کردم با merge sort حلش کنم ولی نمی شد خیلی خوب هم نوشتی

2015-04-11 00:53:27 -0500 بیخیال

پاسخ شما

فقط در صورتی که پاسخی برای این پرسش دارید، آن را اینجا بنویسید و برای بحث کردن از قسمت «ثبت‌ نظر» استفاده کنید. شما می‌توانید قبل از وارد شدن به سایت پاسخ خود را بنویسید. این پاسخ ذخیره می‌شود و زمانی که شما وارد سایت شدید یا ثبت‌نام کردید منتشر می‌شود.

پیش‌نمایش:

کلیه‌ی حقوق این سایت متعلق به کمیته‌ی ملی المپیاد کامپیوتر است.