PDA

View Full Version : سوال: چینش دانش آموزان بر روی صندلی به تفکیک رشته تحصیلی و جنسیت



rezaei_y
چهارشنبه 20 خرداد 1394, 16:07 عصر
با سلام

برای چینش دانش آموزان بر روی صندلی به تفکیک رشته تحصیلی و جنسیت از چه الگوریتمی استفاده کنم؟

winner1
چهارشنبه 20 خرداد 1394, 16:24 عصر
شما اول یه گروپ میخوای از جنسیت خوب سادست بعد از داخل اون یه گروپ بر اساس رسته تحصیلی حالت کلی گروپ :

SELECT MAX(Column_Name_1), MAX(Column_Name_N) FROM TABLE_Name GROUP BY Column_NAme

با استفاده از توابع rank یا disnitik_rank یا row_number میتونی شماره ایجاد کنی برای صندلی هات به هر دانش اموز

rezaei_y
چهارشنبه 20 خرداد 1394, 20:28 عصر
منظورم این بو که چکار میشه کرد که هر دانش آموز با 6 دانش آموز دورتادورش دارای یک رشته نباشه

god of war
چهارشنبه 20 خرداد 1394, 23:26 عصر
6 دانش آموز دور تا دورش ؟
مگه هر دانش آموز 4 نفر اطرافش نیستن ؟ چرا 6 ؟

reza_ali202000
چهارشنبه 20 خرداد 1394, 23:39 عصر
1. جنسیتهات رو با گروه بندی جدا کن.(دختر و پسر)
(فرض بر گروه پسران)
2. تعداد رشته هات رو مشخص کن.
(فرض بر سه رشته)
4. تعداد ردیف نیم کت هاتو مشخص کن
(فرض بر ده ردیف)
5. حالا بیا افراد رشته رو در بیار
(مثلا هر رشته 100 نفر)
6. حالا بیا وقتی این افراد رو سلکت میکنی یه ردیف هم براشون در نظر بگیر که به تعداد گروهت پرش داره
(مثلا رشته شیمی میشه 1و4و7و...)
7. حالا برارشته بعدیت اولین ردیف بالا رو در بیار با یک جمع کن و دوباره همون پرشها
(مثلا کامپ 2و5و8و...)

نکته: اول اینا رو پیاده سازی کن بعد جاهایی که نیاز به چک کردن داره رو باید چک کنی مثلا ممکنه ردیفامون 9تایی باشه. یا ممکنه رشته شیمی 20 نفر کامپ 100 نفر
اینا دیگه شروطی هستن که بعد از پیاده سازی باید اعمال بشه و باگ گیری بشه.

rezaei_y
پنج شنبه 21 خرداد 1394, 00:14 صبح
6 دانش آموز دور تا دورش ؟
مگه هر دانش آموز 4 نفر اطرافش نیستن ؟ چرا 6 ؟

اگه حالت ضربدری رو هم در نظر بگیریم 6 تا میشه

MMR_1234
پنج شنبه 21 خرداد 1394, 07:01 صبح
برای هر صندلی شما باید چهار صندلی و کنترل کنی
سه صندلی جوی صندلی مربوطه و یک صندلی سمت چپ یا راست بستگی به روش چیدمانت داره

Mahmoud Zaad
پنج شنبه 21 خرداد 1394, 11:26 صبح
سلام
شما اگه بخواید دور تا دور یک نفر، رشته هاشون متفاوت باشه، با هشت نفر دیگه سر و کار دارید که در مجموع با شخص مذکور میشه 9 نفر چطور از 6 نفر و 4 نفر حرف می زنید؟
به هر حال طبق شکل باید صندلی ها رو به بلوک های 9 تایی تقسیم کنید و بعد در هر بلوک به ترتیب از راست به چپ یا بالا به پایین و ... رشته ها رو بچینید بعد دقیقاً همین الگو رو برای سایر بلوک ها هم تکرار کنید. اینجوری اطرافیان هیچ کس باهاش هم رشته نیست. در شکل زیر هر کدوم از شماره ها نشون دهنده یه رشته است. مثلاً اگه کد 1 رشته نرم افزار باشه باید دانش آموزان رشته نرم افزار در موقعیت یک قرار بگیرند و ...
132136

rezaei_y
پنج شنبه 21 خرداد 1394, 12:39 عصر
ممنون دوست عزیز حق با شماست باید با 8 نفر دورش یکسان نباشه
تعداد رشته هایی که ما داریم 15 رشته اس و تعداد دانش آموزان هم در هر رشته برابر نیست برای این حالت هم میتونم از الگوریتمی که فرمودید استفاده کنم؟
ممنون میشم راهنمایی کنید

Mahmoud Zaad
پنج شنبه 21 خرداد 1394, 13:05 عصر
از یه طرف با 15 تا رشته دستت بازتره، ولی خب تعداد نابرابر دانش آموزا محدودیت ایجاد کرده. به نظرم با همون الگوریتم، شما اول دانش آموزای 9 تا رشته رو انتخاب کنید بعد هر جا که دانش آموزای یک رشته تموم شد رشته جدید رو جایگزین کنید. ولی باید برای حالت ها مختلف تست بشه.

toopak
پنج شنبه 21 خرداد 1394, 13:22 عصر
با توجه به اینکه تعداد افراد هر رشته برابر نیست شما چینش زیر رو در نظر بگیر

1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
...

بهترین کار اینه که شما بیای از رشته ای که بیشترین نفر رو داره شروع کنی
بعد به ترتیب یکی در میون بچینی مثلا 1 3 5 7 9 . . . الی آخر ولی ردیف ها رو هم یکی رو در میکنی میری بعدی (یعنی یکی در میون)
بعد دوباره میری رشته بعدی که بیشترین افراد رو داره و بعدی رو هم همین طوری میپینی میری تا پایین
و الی آخر
ولی مستلزم اینه که ردیف ها و تعداد افراد هر ردیف رو داشته باشید

RmeXXXXXXXXX
پنج شنبه 21 خرداد 1394, 22:15 عصر
الگوریتم درخت (گراف) نقاشی!
رنگ ها مشابه رو رشته های مشابه در نظر بگیرید. طوری باید درخت رو رنگ کرد که گره های همرنگ درکنار هم(دراینجا 6تا) نباشند. (( هوش مصنوعی))