結果

問題 No.1423 Triangle of Multiples
ユーザー 👑 箱星箱星
提出日時 2021-01-03 23:33:33
言語 Kotlin
(1.9.23)
結果
WA  
実行時間 -
コード長 1,866 bytes
コンパイル時間 17,023 ms
コンパイル使用メモリ 454,008 KB
実行使用メモリ 90,584 KB
最終ジャッジ日時 2024-04-21 18:55:41
合計ジャッジ時間 20,205 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 290 ms
53,396 KB
testcase_01 WA -
testcase_02 WA -
testcase_03 AC 689 ms
73,420 KB
testcase_04 TLE -
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.PrintWriter
import java.util.*
import kotlin.math.*

fun PrintWriter.solve() {
    val map = mutableMapOf<Triple<Int, Int, Int>, Triple<Int, Int, Int>>()
    val numCases = nextInt()
    case@ for (_i in 0 until numCases) {
        val a = nextInt()
        val b = nextInt()
        val c = nextInt()
        if (map.containsKey(Triple(a, b, c))) {
            val (x, y, z) = map[Triple(a, b, c)]!!
            println("$x $y $z")
            continue@case
        }
        val m = minOf(a, b, c)
        if (a == m) {
            for (x in a..1000000 step a) {
                if (abs(b - c) < x && x < b + c) {
                    println("$x $b $c")
                    map[Triple(a, b, c)] = Triple(x, b, c)
                    continue@case
                }
            }
        }
        if (b == m) {
            for (y in b..1000000 step b) {
                if (abs(c - a) < y && y < b + c) {
                    println("$a $y $c")
                    map[Triple(a, b, c)] = Triple(a, y, c)
                    continue@case
                }
            }
        }
        if (c == m) {
            for (z in c..1000000 step c) {
                if (abs(a - b) < z && z < a + c) {
                    println("$a $b $z")
                    map[Triple(a, b, c)] = Triple(a, b, z)
                    continue@case
                }
            }
        }
    }
}

fun main() {
    val writer = PrintWriter(System.out, false)
    writer.solve()
    writer.flush()
}

// region Scanner
private var st = StringTokenizer("")
private val br = System.`in`.bufferedReader()

fun next(): String {
    while (!st.hasMoreTokens()) st = StringTokenizer(br.readLine())
    return st.nextToken()
}

fun nextInt() = next().toInt()
fun nextLong() = next().toLong()
fun nextLine() = br.readLine()!!
fun nextDouble() = next().toDouble()
// endregion
0