Processing math: 100%

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۲۱:برنامه نویسی:سوال ۱۰

سوال ۱۰

برنامه زیر را در نظر بگیرید:

	#include <iostream>
	using namespace std;
	
	int main() {
		int n;
		cin >> n; // n is always less than 20
		int a[20];
		for(int i=0; i<n; ++i)
			cin >> a[i];
		// اینجا کد بنویسید
	    // ...
	    // ...
	    Return 0;
	}

در قسمت نشان داده شده، دستوراتی (نه لزوماً فقط ۳ خط!) بنویسید که تنها با استفاده از دو دستور حلقه و دو دستور شرط، بررسی کند که آیا اندیس‌های b1,b2,,bk وجود دارند به‌طوری که a[bk1]=a[bk] ^ ^ a[b2] ^ a[b1] (همه‌ی biها باید متمایز باشند و 2kn20 ، ترتیب biها مهم نیست). در صورت وجود این اعداد، خروجی برنامه شما باید برابر YES و در غیر این صورت برابر NO باشد.


ابزار صفحه