PDA

View Full Version : ACM . . . ؟! ترجمه کتاب Art Of Programming Contest و آموزش



parnian68
دوشنبه 22 شهریور 1389, 00:19 صبح
با سلام خدمت شما گرامیان

راستش من شروع کردم به تمرین واسه مسابقات ACM اگه تونستیم امسال اگه هم نشد ایشالا سال دیگه !!!

الان اینجام چون میدونم بزرگانی که اینجان توان پاسخ دادن به سوالای کوچیک و بزرگ امثال منو دارن. واسه همینه که به طلب کمک اومدم.

راستش من کتابی که در بالا اسمش رو آوردم دارم میخونم و تا جایی که بفهمم ترجمش میکنم ودر اختیار دوستان میذارم شاید لازمشون بشه

بسم الله

parnian68
دوشنبه 22 شهریور 1389, 00:54 صبح
چطور میتونیم محتویات درون یه متغیر دابل که خیلی هم بزرگه رو به صورت تمام و کمال چاپ کنیم ؟!
یعنی یه توان رسوندن داریم که حاصلش خیلی بزرگ میشه و نتیجه رو کامل لازم داریم.

parnian68
دوشنبه 22 شهریور 1389, 01:00 صبح
اگه کسی هست که ACM شرکت کرده بیزحمت خودشو معرفی کنه

هلاکشم !!

سوالم اینه که وضعیت ورودی و خروجی ها تو این مسابقات منو گیج کرده
لطفا برام توضیح بده

parnian68
دوشنبه 22 شهریور 1389, 01:08 صبح
راستش من با یه کتاب که تو خیلی از سایتا دیدمش شروع کردم که کلا و تماما واسه همین مسابقات تالیف شده
من دارم میخونمش و ترجمش هم میکنم
این ترجمه ها رو که البته خیلی آزاد و عامیانه !!!! هم میباشد ! در اختیار شما گرامیان قرار میدم

لینک اصل کتاب به زبون اصلی (http://parnian68.persiangig.com/document/Art_of_Programming_Contest_SE_for_uva.pdf)
--------------------
قبل از هرچیز عرض کنم خدمتتون که به علت ذیق وقت از ذکر حرفهای اضافه ی کتاب صرف نظر میکنم !!
مسابقات برنامه نویسی ACM چیست ؟

Association for Computing Machinery (ACM) مسابقاتی است که با حمایت شرکت IBM هرسال برگزار میشود. این مسابقات در سطح جهانی مسابقات شناخته شده ای هستند و طرفداران زیادی دارن.
این مسابقات با نام International Collegiate Programming Contest (ICPC) شناخته میشن.
مسابقات منطقه ای هر سال در نوامبر (آبان یا آذر ماه) برگزار میشه و مسابقات پایانی در ماه مارس(اسفند یا فروردین) است. در این مسابقات هر تیم با سه دانشجو و استفاده از زبانهای C, C++‎‎, or Java به حل شش تا هشت مسئله در مدت زمان 5 ساعت میکنن. به هر تیک یک pc داده میشه. معمولا یکی دو نفر از اعضای تیم آزاد هستن تا به حل مسئله و اینکه به حل کدام مسئله بپردازند را مشخص کنند. گاهی وقت ها اینکه با کدام مسائل کار شروع بشه یکی از مهمترین قسمت های یک مسابقه به شمار میره.

این یه کلیتی بود از ماجرا
میریم سراغ فصل اول
دعا کنید فقط سواد نم کشیده من یاریم بده تا بتونم درست بفهمم و ترجمه کنم
یاعلی

qwerty11
دوشنبه 22 شهریور 1389, 09:40 صبح
سلام

چطور میتونیم محتویات درون یه متغیر دابل که خیلی هم بزرگه رو به صورت تمام و کمال چاپ کنیم ؟!
یعنی یه توان رسوندن داریم که حاصلش خیلی بزرگ میشه و نتیجه رو کامل لازم داریم. اگر اعشار جواب خیلی زیاد میشه چاره ای جز استفاده از BigInteger نداری. که توی C++‎ کلاسش وجود نداره اما توی جاوا کلاسش موجود هست. پس اگر از C++‎ استفاده میکنی باید خودت ضرب اعداد خیلی بزرگ رو پیاده سازی کنی.


سوالم اینه که وضعیت ورودی و خروجی ها تو این مسابقات منو گیج کرده
لطفا برام توضیح بده کجاش نامفهومه !؟ سوال یک سری ورودی داره و به ازای هر نمونه ورودی هم یک خروجی داره. برنامه ی شما اگر برای یه دونه از این خروجی ها جواب اشتباه بده هم شما wrong answer دریافت میکنین. خروجی رو باید دقیقاً به همون شکلی که مسئله خواسته چاپ کنید. گاهی وقت ها چاپ کردن حتی یه space اضافه هم باعث گرفتن wrong answer میشه.

یه توصیه هم بهت میکنم که بیخیال ترجمه ی کتاب شو... دیگه خودت میدونی.

parnian68
دوشنبه 22 شهریور 1389, 13:04 عصر
بابت راهنماییتون متشکرم

راجع به ترجمه هم خودم به این نتیجه رسیدم !
خیلی زمان بره

راستش ما تو دانشگاه با #C کار کردیم ولی الان میبینم که انگار این زبون به عنوان زبون مورد قبول تو مسابقات نیس، درسته ؟!
--------------------
من علاقه زیادی به کدنویسی دارم و لی ار اونجایی که تازه کارم نیاز به یه سری سوالای ساده دارم که بتونم مهارتم رو افزایش بدم
میتونید کمکم کنید ؟!

یه سوال دیگه :

خوندن کتاب رو هم ترک کنم یا فقط از ترجمش دست بکشم ؟

qwerty11
دوشنبه 22 شهریور 1389, 18:14 عصر
C#‎‎‎ توی مسابقات نیستش. اما خوب به زبان C++‎‎‎ نزدیکه دیگه ... ترم اول درس مبانی هم C#‎‎‎ کار میکردید !؟ :متفکر:

من علاقه زیادی به کدنویسی دارم و لی ار اونجایی که تازه کارم نیاز به یه سری سوالای ساده دارم که بتونم مهارتم رو افزایش بدم
میتونید کمکم کنید ؟!online judge های زیادی وجود دارن که شما با استفاده از اونها میتونید سوال حل کنین و به صورت آنلاین جوابشو بگیرید. اینجا لیست چندتا از اونا رو میبینی :

1- http://uva.onlinejudge.org
2- http://www.spoj.pl
3- http://acm.tju.edu.cn/toj
4- http://acm.zju.edu.cn/onlinejudge
5- http://acm.timus.ru (http://acm.timus.ru/)
6- http://acm.pku.edu.cn/JudgeOnline
7- http://acm.sgu.ru (http://acm.sgu.ru/)
8- http://acm.whu.edu.cn/oak
9- http://acm.hrbeu.edu.cn (http://acm.hrbeu.edu.cn/)
10- http://acm.fjnu.edu.cn (http://acm.fjnu.edu.cn/)
11- http://acm.hdu.edu.cn


همون سایت اول و سایت دوم سایت های خیلی خوبی هستن. مثلاً تو سایت دوم از طریق یه لینک میتونی سوال هایی رو که بیشتر از همه حل شده رو ببینی : http://www.spoj.pl/problems/classical/sort=6,start=1350

یا مثلاً سایت چهارم هر ماه یه مسابقه ی اینترنتی برگزار میکنه که همه میتونن توش شرکت کنن. البته سطح سوالاش بالاست...

نه کتاب رو که 100% بخون. ترجمه کردنش رو بیخیال شو. من به خاطر زمانش نگفتم ولش کن، به خاطر این گفتم چون کسی ارزشی برای کاری که شما انجام میدی قائل نیست متاسفانه...

runtime.error
دوشنبه 22 شهریور 1389, 18:57 عصر
سلام دوست عزیز
خوشحالم از این که بی خیال ترجمه شدی و خوشحال تر میشم اگه بی خیال Art of programming شی. از من میشنوی این کتاب خیلی به درد ACM-ICPC نمیخوره به جاش بچسب به کتاب Programming Challenges که اساسی کارت رو را میندازه:قهقهه:
برای ورودی و خروجی برنامه ات هم فقط باید از ورودی-خروجی استاندارد استفاده کنی (همون cin و cout) به صورت زیر استفاده کن:

int n;
while(cin>>n)
{
// :d
}
موفق باشی:چشمک:

parnian68
سه شنبه 23 شهریور 1389, 14:42 عصر
C#‎‎‎‎‎ توی مسابقات نیستش. اما خوب به زبان C++‎‎‎‎‎ نزدیکه دیگه ... ترم اول درس مبانی هم C#‎‎‎‎‎ کار میکردید !؟

اره
ما مبانی رو هم روز C#‎ کار کردیم

بابت سایت ها ممنون
هرچه سریعتر باید کارو از اونجا ادامه بدم
--------------------

سلام دوست عزیز
خوشحالم از این که بی خیال ترجمه شدی و خوشحال تر میشم اگه بی خیال Art of programming شی. از من میشنوی این کتاب خیلی به درد ACM-ICPC نمیخوره به جاش بچسب به کتاب Programming Challenges که اساسی کارت رو را میندازه:قهقهه:
:

بابت کتاب
اگه لطف کنید لینکش رو بزارید ممنونتون میشم
خودتون مطالعه اش کردین ؟!

راستش من اصلا با ++C کار نکردم

باید اول یکم باهاش آشنا بشم بعد !!

runtime.error
سه شنبه 23 شهریور 1389, 20:57 عصر
بله دوست عزیز من این کتاب رو خوندم یا بهتره بگم دارم میخونم برای ACM عالیه. به زبون خاصی هم محدود نمیشه اما من هم C++ رو پیشنهاد میکنم

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.2131&rep=rep1&type=pdf