سوالات چالشی هفته سوم لیگ مایکد به همراه پاسخهای مورد انتظار تست کیسها جهت آشنایی بیشتر شرکتکنندگان در لیگ منتشر میگردد.
دریافت
عنوان: ماشین زمان
حجم: 206 کیلوبایت
توضیحات: سوال چالشی ماشین زمان با استفاده از اعداد چرخشی
پاسخ تیم برنده
دریافت
عنوان: جوراب جادویی
حجم: 231 کیلوبایت
توضیحات: سوال چالشی جوراب جادویی جادوگر مبتنی بر جستجو
پاسخ تیم برنده
دریافت
عنوان: ساندویچ فروشی اسرار آمیز
حجم: 239 کیلوبایت
توضیحات: سوال چالشی مواد اولیه ساندویچ مبتنی بر عوامل اول
ll findDay(const string& s) {
string n1, m1;
bool isb = false;
// جدا کردن دو عدد از رشته ورودی که با کاما جدا شدهاند
for (int i = 0; i < s.size(); ++i) {
if (s[i] == ',') {
isb = true;
continue;
}
if (!isb) n1 += s[i]; // بخش اول (n)
else m1 += s[i]; // بخش دوم (m)
}
ll n = stoll(n1), m = stoll(m1);
// انجام محاسبات بر اساس مقدار m
if (m >= 0) {
return (n + (abs(m) % 7)) % 7;
} else {
return (n - (abs(m) % 7) + 7) % 7;
}
}
// تابع برای پردازش هر خط ورودی و انجام محاسبات
ll countSteps(const string& s) {
ll sum = 0;
// شمارش کاراکترهای معتبر (غیر از '[', ']' و ',')
for (int i = 0; i < s.size(); ++i) {
if (s[i] == ',' || s[i] == '[' || s[i] == ']') continue;
sum++;
}
ll ans = 0;
// محاسبه تعداد مراحل کاهش sum تا رسیدن به 1
while (sum != 1) {
sum /= 2; // نصف کردن آرایه
ans++;
}
return ans;
}
string countIngredients(ll n) {
ll pr[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; // لیست اعداد اول
str st = "NSMCVPOTFL"; // کاراکترهای متناظر با هر عدد اول
ll count[10] = {0}; // آرایه برای ذخیره تعداد هر عامل اول
ll in = 0;
// تجزیه عدد n به عوامل اولیه
while (n > 1) {
ll cnt = 0;
while (n % pr[in] == 0) {
cnt++;
n /= pr[in];
}
count[in] = cnt; // ذخیره تعداد عامل اول
in++;
}
// ساخت رشته خروجی بر اساس عوامل اولیه
string result;
loop(i, 0, 10) {
if (count[i]) {
result += to_string(count[i]) + st[i];
}
}
return result;
}
دیدگاهها
هیچ نظری هنوز ثبت نشده است.