Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - الصف الأول الصالح

جزء من قسم المنطق وتدفق التنفيذ في رحلة Kotlin على Coddy. الدرس 45 من 63.

challenge icon

التحدي

متوسط

أكمل firstValidRow بالمعاملات grid: List<List<Int>> وminimumTotal: Int. أعد فهرس أول صف لا يحتوي على قيم سالبة ويكون مجموعه على الأقل minimumTotal. الصفوف الفارغة مجموعها صفر ولا تحتوي على قيم سالبة. أعد ‎-1‎ إذا لم يستوفِ أي صف الشروط.

ما لم تُذكر حدود أكثر تقييدًا أعلاه، تحتوي المجموعات على 100 عنصر كحد أقصى في كل مستوى، وتتراوح الوسائط الصحيحة وقيم المجموعات الصحيحة بين ‎-1000‎ و1000. قد يتضمن النص المقدَّم للتحليل تمثيلات غير صالحة أو خارج النطاق كما هو موضح.

أعد قيمة من النوع Int. أبقِ على كود الإدخال/الإخراج المقدَّم. يقرأ الوسائط العددية واحدًا في كل سطر؛ وتبدأ القائمة بعدد عناصرها متبوعًا بعناصرها، وتبدأ الخريطة بعدد إدخالاتها متبوعًا بكل مفتاح وقيمة. تكرر القوائم المتداخلة تنسيق العدد والعناصر لكل صف. تطبع main المقدَّمة قيمة الإرجاع متبوعة بسطر جديد واحد. تستخدم القوائم التنسيق القياسي ذي الأقواس المربعة في Kotlin؛ ولا تطبع أي تسميات إضافية.

جرّب بنفسك

fun firstValidRow(grid: List<List<Int>>, minimumTotal: Int): Int {
    // اكتب حلك هنا.
    return 0
}
fun main() {
    val gridCount = readln().toInt()
    val grid = mutableListOf<List<Int>>()
    for (i0 in 0 until gridCount) {
        val gridItemCount = readln().toInt()
        val gridItem = mutableListOf<Int>()
        for (i1 in 0 until gridItemCount) {
            val gridItemItem = readln().toInt()
            gridItem.add(gridItemItem)
        }
        grid.add(gridItem)
    }
    val minimumTotal = readln().toInt()
    println(firstValidRow(grid, minimumTotal))
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: Playground لـ Kotlin