ماراتن Codeforces

موافق یا مخالف؟ ــ پست اول این تاپیک را بخوانید ــ


  • مجموع رای دهندگان
    321

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#1
[center:0cb71f97b8]به نام خداوند گردون سپهر فروزنده ی ماه و ناهید و مهر[/center:0cb71f97b8][center:0cb71f97b8]
[/center:0cb71f97b8][center:0cb71f97b8]http://codeforces.com[/center:0cb71f97b8]سلام به همه
از این لحظه ماراتن Codeforces شروع شد. با توجه به این که تا این لحظه ۲۶ دوره از Codeforces گذشته است پیشنهاد می کنم هر روز یکی از این دوره ها و بعضی روزها ۲ تا را حل کنیم. این باعث می شه تا قبل از مرحله ی بعد المپیاد ما این ماراتن تمام شود. شروع این ماراتن رای گیری در مورد این پیشنهاد است.
در نظرسنجی همین تاپیک شرکت کنید و موافق یا مخالف بودنتان را اعلام کنید.
متشکرم
اگر تصویب بشه فردا Codeforces Round 1 را شروع می کنیم.
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#2
تصويبش مي كنيم !!!!! به جز من و آقاي شيري و شما و آقاي جلال منش و آقاي بيباك كسي ديگه كه نيست !!!! و با توجه به هر حرفي كه شما تو تاپيك قبل زده بوديد ، پس ............
پس ، فردا contest 1 رو شروع مي كنيم ..... هورا ........
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#3
تا فردا هم صبر نمی کنیم. از همین الآن Round 1 شروع می شود
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#4
در موارد ضروري شما بايد سوالات رو ترجمه كنيد !!!!!!!!!!!!!!!

قانون خاصي براي تاپيك در نظر نداريد !؟؟؟؟! ..... من يه نظر دارم....... مثل ماراتن ++C كه قبلا قبل از گذاشتن كدمون .... الگوريتم رو ميذاشتم خيلي خوب بود !!!
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#5
Olympiad گفت
در موارد ضروري شما بايد سوالات رو ترجمه كنيد !!!!!!!!!!!!!!!

قانون خاصي براي تاپيك در نظر نداريد !؟؟؟؟! ..... من يه نظر دارم....... مثل ماراتن ++C كه قبلا قبل از گذاشتن كدمون .... الگوريتم رو ميذاشتم خيلي خوب بود !!!
رای می گیریم
من موافقم ؛ بهتره اول الگوریتمو بگیم
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#7
باید صبر کنیم تا نظر آقایان شیری و بیباک و جلال منش را هم بفهمیم
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#8

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
#9
منم موافقم.

سوال اول منظورش اینه؟!؟:

یه خیابون m*n داریم می خوایم با موزاییک های a*a بپوشونیمشون . حداقل به چند تا موزاییک نیاز داریم؟!
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#10
درسته
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#11
Olympiad گفت
منم موافقم .... !!!
من رو کد شما برای سوال 1a که accept نشد یک کمی کار کردم.
کد اولیه اینطوری بود:
کد
   1.
	 #include <iostream>
   2.
	 #include <math.h>
   3.
	 #include <stdio.h>
   4.
	  using namespace std;
   5.
	  int f(long long k,long long t)
   6.
	    {
   7.
		 if(k%t==0)
   8.
		  return k/t;
   9.
		 else
  10.
		  return (int)(fabs(k/t)+1);
  11.
	    }
  12.
	   int main()
  13.
		{
  14.
		   long long n,m,a,y;
  15.
		   cin>>n>>m>>a;
  16.
		   if(a==0)
  17.
			{
  18.
			  y=0;
  19.
			  printf("%d",y);
  20.
			}
  21.
		   else	 
  22.
			{
  23.
			  y=f(n,a)*f(m,a);
  24.
			  printf("%d",y);
  25.
			}
  26.
		   return 0;
  27.
		}
این کد نشون می ده که شما روش حل مسئله را فهمیده اید ولی چند تا نکته داره:
اول: تابع f را ببینید. این تابع دو تا پارامتر long long می گیره و یک int بر می گردونه. بهتر نیست long long بر گردونه؟ ــ اصولا وقتی long long را به int تبدیل می کنید مشکلات زیادی به وجود می آید ــ
دوم: تو تابع f نقش تابع fabs چیه؟ با توجه به مفروضات مساله هیچ نیازی به fabs و درنتیجه به math.h که باید می نوشتید cmath ندارید.
سوم: چرا اینقدر خودتو تو این تابع اذیت کردی؟ راه خیلی بهتری وجود دارد!!
چهارم: تو main شما یک if a==0 گذاشتی که طبق صورت مساله اصلا اتفاق نمی افتد
پنجم: موقع استفاده از printf از d% استفاده کرده ای که برای int به کار می رود و باعث می شود y که از نوع long long است به int تبدیل شود و به کل مساله گند بخورد!!
برای چاپ کردن long long باید از lld% استفاده شود. اصلا وقتی iostream و cout به این قشنگی داری و فقط یک بار می خواهی خروجی بدی چرا printf استفاده می کنی؟
من همه ی اینها را درست کردم و کد شما تبدیل شد به این کدی که در خط بعد می بینی که accept هم شد:
کد
#include <iostream>
//#include <cstdio>
using namespace std;
long long f(long long k,long long t)
   {
	return ((k+t-1)/t);
   }
  int main() 
    {
	  long long n,m,a,y;
	  cin>>n>>m>>a;
		 y=f(n,a);
		  y*=f(m,a);
		 cout<<y<<endl;
	  return 0;
    }
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#13

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#14
شما اين كد منو از كجا آورديد !!؟؟؟
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#15
Olympiad گفت
شما اين كد منو از كجا آورديد !!؟؟؟

codeforces کدهای همه ی کاربران را به صورت عمومی منتشر می کند. البته به غیر از زمانی که contest ها در حال برگزاری هستند.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#16

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#17
قضيه ي هك كردن تو Codeforces چيه ؟!!؟؟
ضمنا سوال B چي رو مي خواد تو خروجي چاپ كنيم !!!!!!؟؟؟؟؟
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#19
بالا