• سؤالات اول تا سوم به‌صورت ورودی/خروجی هستند و با هر زبانی می‌توانید آن‌ها را حل کنید.
  • سؤالات چهارم و پنجم مربوط به تکنولوژی دیتابیس MySQL هستند.
  • سؤال ششم مربوط به پیاده‌سازی یک API است که تنها با استفاده از زبان‌های PHP ، Python ، Go و JS (Node.js) قابل حل است.

لینک‌های مفید برای شرکت در مسابقه:

اعداد یکتا


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۶۴ مگابایت

دنباله‌ای به طول nn به فرم a1,a2,,ana_1, a_2, \dots, a_n \, از اعداد صحیح داریم. می‌دانیم هیچ عددی در این دنباله، بیش از ۲ بار ظاهر نشده است. برای مثال این دنباله می‌تواند به صورت 4,3,2,7,8,2,3,14, 3, 2, 7, 8, 2, 3, 1 باشد.

به یک عدد صحیح «یکتا» می‌گوییم اگر فقط یک‌بار در این دنباله ظاهر شده باشد. برای مثال، در دنباله بالا تنها اعداد 11، 44، 77 و 88 «یکتا» هستند.

از شما می‌خواهیم برنامه‌ای بنویسید که با دریافت اعداد موجود در این دنباله، ‍XOR اعداد «یکتا» آن را چاپ کند. اگر هیچ عدد «یکتا»یی در این دنباله نبود، صفر چاپ کنید.

اگر نمی‌دانید که XOR چیست، روی این قسمت کلیک کنید.

منظور از XOR (مخفف eXclusive OR) دو عدد صحیح و نامنفی مثل aa و bb که آن را به صورت aba \oplus b نیز نشان می‌دهند، این است که اگر دو عدد aa و bb را در مبنای دو زیرهم بنویسیم. (اگر یکی از این اعداد تعداد کمتری رقم دارد پشت آن صفر در نظر بگیرید.) سپس برای هر دو رقم زیرهم اگر یکسان باشند رقم متناظر حاصل، صفر و در غیر این صورت یک خواهد بود.

برای مثال برای محاسبه 12612 \oplus 6 ابتدا این دو عدد را در مبنای دو می‌نویسیم (باید پشت ۶ صفر اضافه کنیم تا تعداد ارقام برابر شود.) سپس به صورت رقم به رقم نگاه می‌کنیم و اگر ارقام متناظر در این دو عدد برابر بودند، ۰ و در غیر این‌صورت ۱ می‌گذاریم یعنی:

612=(0110)2(1100)2=(1010)2=106 \oplus 12 = (0110)_2 \oplus (1100)_2 = (1010)_2 = 10

همچنین از تعریف مشخص است که این عمل، خاصیت «جابه‌جایی» و «شرکت‌پذیری» دارد. یعنی اگر mm عدد داشته باشیم، ترتیب این اعداد و یا ترتیب عملیات‌ها بر روی حاصل نهایی تاثیری ندارد. بنابراین پاسخ مسئله فقط یک حالت دارد.

اگر می‌خواهید درباره این عملگر بیشتر بدانید،‌ این پیوند را مطالعه کنید.

ورودی🔗

در خط اول ورودی، عدد طبیعی nn نوشته می‌شود.

1n1001 \leq n \leq 100

در خط دوم، اعداد آرایه که با یک فاصله از یکدیگر جدا شده‌اند نوشته می‌شوند.

1ai1001 \leq a_i \leq 100

خروجی🔗

در تنها سطر خروجی، XOR اعداد «یکتا»ی این دنباله را چاپ کند. اگر هیچ عدد «یکتا»یی در این دنباله نبود، 00 چاپ کنید.


ورودی نمونه ۱🔗

2
1 1
Plain text

خروجی نمونه ۱🔗

0
Plain text

هیچ عدد یکتایی در دنباله 1,11, 1 وجود ندارد، بنابراین پاسخ این نمونه ۰ خواهد بود.


ورودی نمونه ۲🔗

8
4 3 2 7 8 2 3 1
Plain text

خروجی نمونه ۲🔗

10
Plain text

اعداد یکتای دنباله 4,3,2,7,8,2,3,14, 3, 2, 7, 8, 2, 3, 1 همان 11، 44، 77 و 88 هستند بنابراین پاسخ این نمونه برابر است با: 1478=101 \oplus 4 \oplus 7 \oplus 8 = 10


ورودی نمونه ۳🔗

2
2 1
Plain text

خروجی نمونه ۳🔗

3
Plain text

همه اعداد دنباله 1,21, 2، یکتا هستند. بنابراین پاسخ این نمونه برابر است با: 21=32 \oplus 1 = 3

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.