شروع کن دونه دونه ببین با چرخش 90 درجه کدوم قسمتا میوفته به هر نفر ، یه الگویی به وجود میاد که با کشیدن جدول حالات میتونی به دستش بیاری (این یه هینته صرفا)
بعد راحت میتونی کدشو بزنی و حلش کنی
اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!
وبسایت مسابقههای برنامه نویسی
یافتن کوتاه ترین دور در گراف ساده
کد مساله هشت وزیر با استفاده از الگوریتم ژنتیک
مرجع فارسی برای الگوریتم های هندسی و 2sat
نظریه اعداد لازم برای المپیاد کامپیوتری ها
برای مرحله سوم، تا چه سطحی باید برنامه نویسی بلد باشیم؟
اولین جمله از دنباله ی فیبوناچی که 1000رقم داشته باشد چیست؟
چه جاجهایی برای المپیاد کامپیوتر خوب هستند؟
در این قسمت میتونی به یک پرسش پاسخ بدی. اگه میخوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخها مفید هستند حتما بهشون رای بده تا پرسشها و پاسخهای خوب مشخص بشن.
توی قسمت پیشنمایش میتونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
میتونی از تگهای معمولی و سادهی html هم استفاده کنی.
با دکمههایی که بالای ویرایشگر قرار دارند کلی کار میشه کرد. از عکسگذاشتن بگیر تا لیست شمارهدار. حتما امتحانشون کن.
برای نوشتن علائم ریاضی میتونی از Mathjax استفاده کنی.
راهنمای Mathjax رو از سایت
math.stackexchange
بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.
استارت-آپ باکلاس
جمشید کاظمی (که با نام مستعار کامران پوریایی شناخته میشود)، به تازگی آدم شده و از زندان آزاد شده است. او پس از رفتن به همایش زندگی بهتر، اولین تصمیمی که برای ادامهی زندگیاش گرفت جبران پولی بود که برای همایش صرف کرده بود. برای همین تصمیم گرفت که یک استارت-آپ بزند؛ او فکر میکرد ایدههای خارقالعادهای برای استارت-آپ در ذهن دارد ولی دلیل اصلی این کار او این بود که استارت-آپ زدن باکلاس است! برای همین یک تیم ۴ نفره تشکیل داد تا یک استارت-آپ جدی راه بیندازد.
همتیمیهای استارت-آپ جمشید، فرشید*، *مهشید و نوشید هستند که به همین ترتیب در جهت عقربههای ساعت پشت یک میز گرد در کافیشاپ خورشید نشستهاند. وسط این میز گرد یک ظرف شکلات است که ۴ بخش دارد که در هر بخش تعدادی شکلات وجود دارد. جلوی هریک از ۴ نفر تیم، یک بخش از ظرف قرار دارد. این ۴ نفر با شروع از جمشید، به نوبت و در جهت عقربههای ساعت، این روند را تکرار میکنند: کسی که نوبتش است از بخشی از ظرف شکلات که روبرویش است یک عدد شکلات میخورد، سپس ظرف شکلات را به اندازه ۹۰ درجه در جهت عکس عقربههای ساعت میچرخاند. این کار را انقدر ادامه میدهند تا یکی از این ۴ نفر در بخش جلوییش از ظرف هیچ شکلاتی باقی نماند؛ اینجاست که گارسون رو صدا میزنند...
توضیح تصویر
حال برنامهای بنویسید که با ورودی گرفتن تعداد اولیهی شکلاتهای موجود در هر بخش از ظرف شکلات، به جمشید بگویید که در نهایت هریک از افراد تیم (پیش از صدا زدن گارسون و ادامهی ماجرا) چند عدد شکلات خواهند خورد.
ورودی در تنها خط ورودی ۴ عدد آمده است که به ترتیب برابر تعداد شکلاتهای بخش جلوی جمشید، فرشید، مهشید و نوشید هستند. این بخشها به ترتیب در جهت عقربههای ساعت قرار گرفتهاند. این مقادیر اعدادی طبیعی حداکثر ۱۰۰ هستند.
خروجی در تنها خط خروجی ۴ عدد چاپ کنید که به ترتیب تعداد شکلاتهای خورده شده توسط جمشید، فرشید، مهشید و نوشید در انتهای کار خواهند بود.
مثال ورودی نمونه ۱ 3 2 1 3 خروجی نمونه ۱ 1 1 0 0 ورودی نمونه ۲ 3 3 5 3 خروجی نمونه ۲ 2 1 1 1 ورودی نمونه ۳ 4 2 5 3 خروجی نمونه ۳ 2 2 2 1
شروع کن دونه دونه ببین با چرخش 90 درجه کدوم قسمتا میوفته به هر نفر ، یه الگویی به وجود میاد که با کشیدن جدول حالات میتونی به دستش بیاری (این یه هینته صرفا)
بعد راحت میتونی کدشو بزنی و حلش کنی
این جواب این سوال به زبان سی
int main(void){ int counter = 0 , Jamshid , Farshid , Mahshid , Nooshid; int table[4]; int J = 0 , F = 0 , M = 0 , N = 0; scanf("%d%d%d%d",&table[0],&table[1],&table[2],&table[3]); while(1){ if(table[0] == 0 || table[1] == 0 || table[2] == 0 || table[3] == 0){ break; } Jamshid = table[0]; Farshid = table[1]; Mahshid = table[2]; Nooshid = table[3]; if(counter == 0){ J++; counter++; table[0]--; table[3] = table[0]; table[2] = Nooshid; table[1] = Mahshid; table[0] = Farshid; }else if(counter == 1){ F++; counter++; table[1]--; table[0] = table[1]; table[3] = Jamshid; table[1] = Mahshid; table[2] = Nooshid; }else if(counter == 2){ M++; counter++; table[2]--; table[1] = table[2]; table[0] = Farshid; table[3] = Jamshid; table[2] = Nooshid; }else if(counter == 3){ N++; table[3]--; table[2] = table[3]; table[3] = Jamshid; table[0] = Farshid; table[1] = Mahshid; counter = 0; } } printf("%d %d %d %d",J,F,M,N); }
من این سوال رو به زبان سی نوشتم ولی به زبان سی پلاس پلاس به من صفر داد سایت اگه کسی این سوال رو به زبان سی پلاس پلاس میدونه بهم کمک کنه
2021-03-16 08:20:23 -0600 المیرا