برنامه نویسی

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

نمی‌دونم به دردتون بخوره یا نه، (شاید بهتر باشه آقای زابلیان هم نظرشون رو بگن)، اما من برای اینکه خودم بدونم حدودا چه سوالایی رو باید حل کنم، یه برنامه‌ای نوشتم و بعدا گذاشتم تا بقیه هم استفاده کنند:
http://users.allamehelli.ir/~m_kholdi/spat/analyze.php?ID=X
به جای X شماره‌ی ID اس.جی.یو رو بذارین. نتایجش خیلی قابل اعتماد نیست، اما با تقریب خوبی سوال‌ها رو به ترتیب سختی مشخص می‌کنه.
در مورد اینکه بخواید سوال‌های ساده‌ی اس.جی.یو رو نزنید و مستقیما برید دنبال سوال‌های خوبش، به نظر من فعلا کار خوبی نیست. شما اول باید به کد زدن عادت کنید، و برای این کار به نظر من خیلی خوبه که سوال‌های آسون رو هم بزنید، حتی اگه به نظر مسخره می‌اومد. بعضی وقت‌ها یه تکنیک‌هایی هست که کد زدن رو ساده می‌کنه که یا باید خودتون زیاد کد بزنید که بفهمید، یا یه کسی که بهش رسیده بهتون بگه.
 

M.M.Z

کاربر حرفه‌ای
ارسال‌ها
458
امتیاز
241
نام مرکز سمپاد
علامه حلی کرمان
شهر
کرمان
مدال المپیاد
المپیاد کامپیوتر(نقره سال90) :( damn it
دانشگاه
همین با هنر از سرمم زی
رشته دانشگاه
sleeping engineering
پاسخ : برنامه نویسی

مرسی
حالا برم ببینم واقعا سوالت پیشنهادیش در سطح (پایین) منن یانه.
بازم ممنون از کمکتون.
 
  • شروع کننده موضوع
  • #63

zabolian

کاربر نیمه‌حرفه‌ای
ارسال‌ها
235
امتیاز
25
نام مرکز سمپاد
دبیرستان شهید اژه ای اصفهان
شهر
اصفهان
سال فارغ التحصیلی
1390
مدال المپیاد
۳ روز پیش ( ۲۴ اسفند ۸۸) مدال طلای المپیاد کامپیوتر گرفتم
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : برنامه نویسی

به نقل از مهران :
نمی‌دونم به دردتون بخوره یا نه، (شاید بهتر باشه آقای زابلیان هم نظرشون رو بگن)،



چون گفتی نظرم رو بگم: من نظرم کاملا مثبته :) یعنی خیلی خیلی چیزه به درد بخوریه .
در مورد سوالای راحت هم: مهران راست میگه، شما حتما باید سوالای راحت رو هم حل کنید، ضمن اینکه من شنیدم واسه امتحان برنامه نویسی شما، الگوریتم خاصی لازم نیست، و بیشتر میخواند ببینند شما برنامه نویسی بلدید یا نه، که برنامه نویسی رو هم با حل سوالای راحت یاد میگیرید! ( و جوب نزدن توی سوال راحت رو هم با همین تمرین ها یاد میگیرید )
 

M.M.Z

کاربر حرفه‌ای
ارسال‌ها
458
امتیاز
241
نام مرکز سمپاد
علامه حلی کرمان
شهر
کرمان
مدال المپیاد
المپیاد کامپیوتر(نقره سال90) :( damn it
دانشگاه
همین با هنر از سرمم زی
رشته دانشگاه
sleeping engineering
پاسخ : برنامه نویسی

به نظر شما چندتا accept تو sgu داشته باشیم برای امتحان برنامه نویسی خوبه؟
 
  • شروع کننده موضوع
  • #65

zabolian

کاربر نیمه‌حرفه‌ای
ارسال‌ها
235
امتیاز
25
نام مرکز سمپاد
دبیرستان شهید اژه ای اصفهان
شهر
اصفهان
سال فارغ التحصیلی
1390
مدال المپیاد
۳ روز پیش ( ۲۴ اسفند ۸۸) مدال طلای المپیاد کامپیوتر گرفتم
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : برنامه نویسی

هر چی بیشتر بهتر! :D
ولی با اطلاعات فعلی ( اگه الگوریتم‌ زیاد بلد نیستید ) احتمالا تا حدود ۴۰ یا ۵۰ تا میتونید داشته باشید. ( و فکر کنم اگه همین حدود ۴۰ تا داشته باشید واسه امتحان کافی باشه! )
به حدود ۲۰ که رسیدید، سراغ usaco هم برید.
 

M.M.Z

کاربر حرفه‌ای
ارسال‌ها
458
امتیاز
241
نام مرکز سمپاد
علامه حلی کرمان
شهر
کرمان
مدال المپیاد
المپیاد کامپیوتر(نقره سال90) :( damn it
دانشگاه
همین با هنر از سرمم زی
رشته دانشگاه
sleeping engineering
پاسخ : برنامه نویسی

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

M.M.Z

کاربر حرفه‌ای
ارسال‌ها
458
امتیاز
241
نام مرکز سمپاد
علامه حلی کرمان
شهر
کرمان
مدال المپیاد
المپیاد کامپیوتر(نقره سال90) :( damn it
دانشگاه
همین با هنر از سرمم زی
رشته دانشگاه
sleeping engineering
پاسخ : برنامه نویسی

توی امتحان باشگاه سوالا فقط کار با داده های عددین یا کاراکتر و گرافیک و ...... هم هست؟
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

سوال‌ها هر جوری ممکنه باشن، اما گرافیکی نیستن (یعنی شما هیچ چیزی رو روی صفحه رسم نمی‌کنید)
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

کد:
#include<iostream>
using namespace std;
int main()
{
    unsigned int n,i;
    cin>>n;
    unsigned int h;
    h=0;
    for(i=1;i<=n;i++){
    int a;
    a=((i)*(i+1))%3;
    if(a==0)
    h=h+1;
    }
    cout<<h;
    return 0;
}

تو اس جی یو اینو می دم تو تست شماره ی 8 اشتباه جواب میده ،اول فکر کردم مشکل از اینه که دامنه ی اینتجر تو مساله جواب نمیده،عوضش کردم بازم همون مشکلو داشت
اینم لینک مساله

http://acm.sgu.ru/problem.php?contest=0&problem=105
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

خب، درست فکر کردی. توی integer، صرفا تا [tex]2^{31}-1[/tex] جا می‌شه. اما تو یه جایی نوشتی : (i * (i+1 که از محدوده‌ی int می‌زنه بیرون. (وقتی به unsigned int تبدیلش کنی، صرفا تا [tex]2^{32}-1[/tex] رو پشتیبانی می‌کنه، که باز هم کمه) برای اعداد بزگتر از این محدوده، از یه type به اسم long long استفاده می‌شه. یعنی به جای int، بذار long long. توی این نوع از داده، تا عدد [tex]2^{63}-1[/tex] جا می‌شه.
البته وقتی این رو درست کنی، باز هم تایم می‌شی، چون الگوریتم‌ت [tex]O(n)[/tex] هستش.
 

saadatfar

کاربر فعال
ارسال‌ها
33
امتیاز
0
نام مرکز سمپاد
شهید قدوسی
شهر
قم
پاسخ : برنامه نویسی

سلام داش حامد!
مسئله‌ی نسبتا جالب و در عین حال بسیییییییییییییار راحتیه!
با این روش (اینکه بیای تک تک چک کنی که آیا به 3 بخش پذیرند یا نه) هر کار کنی الگوریتمت از
mimetex.cgi
بهتر نمیشه (دلیلش بسیار واضحه!) و چون رنج n نسبتا زیاده، برنامه مشکل زمان پیدا میکنه. به فکر یه راه دیگه باش!
اگه می‌خوای یه راهنمایی توپ بشی! برنامتو یه جور تغییر بده که مثلا به ازای n مساوی 1 تا 100، 100 تا جواب رو هر کدوم توی یک خط چاپ کنه!
فکر کنم متوجه جواب بسیار ساده‌ی مسئله بشی! (;
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

کد:
#include<iostream>
using namespace std;
int main()
{
    unsigned int n;
    cin>>n;
   unsigned int h,m;
   h=(n+1)/3;
   m=(n+1)%3;
   if(m==0)
   cout<<h*2 - 1;
   else if(m=!0)
   cout<<2*h ;
    return 0;
}
اینو زدم اکسپت شد،
منظورتو نفهمیدم سعادت،منظورت این بود؟



http://acm.sgu.ru/problem.php?contest=0&problem=102
این یکیم بی زحمت یکی ترجمه کنه ،نفهمیدم یعنی چی
 
  • شروع کننده موضوع
  • #73

zabolian

کاربر نیمه‌حرفه‌ای
ارسال‌ها
235
امتیاز
25
نام مرکز سمپاد
دبیرستان شهید اژه ای اصفهان
شهر
اصفهان
سال فارغ التحصیلی
1390
مدال المپیاد
۳ روز پیش ( ۲۴ اسفند ۸۸) مدال طلای المپیاد کامپیوتر گرفتم
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : برنامه نویسی

سوال ۱۰۲ میگه که:

یه عدد n بهت میدیم ( n بین ۱ تا ۱۰۰۰۰ است ) تعداد اعداد طبیعی کوچکتر مساوی n که نسبت به n اول است رو چاپ کن ( منظورم از نسبت به n اول اینه که ب.م.م اون عدده با n بشه ۱ )

مثلا به ازای n=9 اعداد ۱ و ۲ و ۴ و ۵ و ۷ و ۸ ( ۶ تا عدد ) ب.م.م شون با ۹ میشه ۱. پس باید در خروجی تعداد این اعداد ( ۶ ) رو چاپ کنید!
 

saadatfar

کاربر فعال
ارسال‌ها
33
امتیاز
0
نام مرکز سمپاد
شهید قدوسی
شهر
قم
پاسخ : برنامه نویسی

به نقل از حامد مهدوی :
کد:
#include<iostream>
using namespace std;
int main()
{
    unsigned int n;
    cin>>n;
   unsigned int h,m;
   h=(n+1)/3;
   m=(n+1)%3;
   if(m==0)
   cout<<h*2 - 1;
   else if(m=!0)
   cout<<2*h ;
    return 0;
}
اینو زدم اکسپت شد،
منظورتو نفهمیدم سعادت،منظورت این بود؟

دقیقا....
توی مسائل اینجوره معمولا یک راه برای محاسبه‌ی مستقیم جواب وجود داره.
اگه با یه کم فکر کردن متوجه چیز خاصی نشدی، بیا جواب‌ها را به ازای ورودی‌های مختلف چاپ کن یا اگه راحته روی کاغذ بنویس، معمولا متوجه یک نظم منطقی بین ورودی و خروجی میشی.
اینجاست که استقرا در برنامه نویسی کامپیوتر معنی پیدا می‌کنه! (;
 

armita

کاربر خاک‌انجمن‌خورده
ارسال‌ها
2,204
امتیاز
686
نام مرکز سمپاد
دبیرستان فرزانگان ۱
شهر
تهران
دانشگاه
شریف
رشته دانشگاه
‫علوم کامپیوتر‬‎
پاسخ : برنامه نویسی

به نقل از مهران :
نمی‌دونم به دردتون بخوره یا نه، (شاید بهتر باشه آقای زابلیان هم نظرشون رو بگن)، اما من برای اینکه خودم بدونم حدودا چه سوالایی رو باید حل کنم، یه برنامه‌ای نوشتم و بعدا گذاشتم تا بقیه هم استفاده کنند:
http://users.allamehelli.ir/~m_kholdi/spat/analyze.php?ID=X
به جای X شماره‌ی ID اس.جی.یو رو بذارین. نتایجش خیلی قابل اعتماد نیست، اما با تقریب خوبی سوال‌ها رو به ترتیب سختی مشخص می‌کنه.
در مورد اینکه بخواید سوال‌های ساده‌ی اس.جی.یو رو نزنید و مستقیما برید دنبال سوال‌های خوبش، به نظر من فعلا کار خوبی نیست. شما اول باید به کد زدن عادت کنید، و برای این کار به نظر من خیلی خوبه که سوال‌های آسون رو هم بزنید، حتی اگه به نظر مسخره می‌اومد. بعضی وقت‌ها یه تکنیک‌هایی هست که کد زدن رو ساده می‌کنه که یا باید خودتون زیاد کد بزنید که بفهمید، یا یه کسی که بهش رسیده بهتون بگه.
خیلی ممنون از این برنامه !
خیلی به درد من خورد ! کلی از دیروز تا حالا سوال آسون حل کردم ! :D
 

wall-e

کاربر فعال
ارسال‌ها
49
امتیاز
3
نام مرکز سمپاد
فرزانگان
شهر
مشهد
مدال المپیاد
المپیاد کامپیوتر می خونم اگه خدا بخواد
پاسخ : برنامه نویسی

کد:
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N=1000+5;
int a[N][N],n,m;
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			scanf("%d", &a[i][j]);
	for(int j=m-1;j>=0;j--){
		for(int i=n-1;i>=0;i--){
			if(i-1>=0 && j+1<=m-1)
				a[i][j]=min(a[i][j],a[i-1][j+1]);
			if(j+1<=m-1)
				a[i][j]=min(a[i][j],a[i][j+1]);
			if(i+1<=n-1)
				a[i][j]=min(a[i][j],a[i+1][j]);
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++)	
			printf("%d ",a[i][j]);
		printf("\n");
	}
	return 0;
}

سلام
من این کد رو برای سوال 168 از sgu زدم ولی تایم میشه!
میشه بگین چرا تایم میشه و این که چی کار میشه کردش؟
 

monajem

کاربر فوق‌حرفه‌ای
ارسال‌ها
933
امتیاز
0
نام مرکز سمپاد
علامه حلی اراک
شهر
اراک
مدال المپیاد
کامپیوتر-طلا
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

یکی یه لینک دانلود turbo c++ درست حسابی میده؟
من هرچی گرفتم تا حالا خراب بوده
 

dr.eniac

لنگر انداخته
ارسال‌ها
3,641
امتیاز
7,850
نام مرکز سمپاد
شهید بهشتی نیشابور
دانشگاه
علوم‌پزشکی مازندران
رشته دانشگاه
دندان‌پزشکی
پاسخ : برنامه نویسی

به نقل از منجم! :
یکی یه لینک دانلود turbo c++ درست حسابی میده؟
من هرچی گرفتم تا حالا خراب بوده
خراب نبوده بايد بري از تو منوها آدرس فايلاشو درست كني !

البته احتمالا اگه تو درايو سي بريزي اجرا شه (;
 

monajem

کاربر فوق‌حرفه‌ای
ارسال‌ها
933
امتیاز
0
نام مرکز سمپاد
علامه حلی اراک
شهر
اراک
مدال المپیاد
کامپیوتر-طلا
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

به نقل از Dr.Eniac :
خراب نبوده بايد بري از تو منوها آدرس فايلاشو درست كني !

البته احتمالا اگه تو درايو سي بريزي اجرا شه (;
ها؟؟؟؟
میشه بیش توضیح بدی؟
حالا یه لینک هم بذار! :D
 

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : برنامه نویسی

به نقل از منجم! :
یکی یه لینک دانلود turbo c++ درست حسابی میده؟
من هرچی گرفتم تا حالا خراب بوده
به نظرم از dev استفاده کنی بهتره. البته فک کنم با گرافیک مشکل داره.(اگه کارتون گرافیکی نیست dev خیلی بهتره)
 
بالا