白駿10448ユリカ理論-Swift
ユリカ理論
質問する
https://www.acmicpc.net/problem/10448
を選択します。
に答える
すべての数をブルートフォスでチェックし、その数を生成できれば1を出力します.Inputも含めて、四重砲口を使いました...他の人が使った時間と私が使った時間の差が大きいので改善しました.
ソースコード
既存のプール
var t: [Int] = []
let n = Int(readLine()!)!
for i in 1...44 {
let sum = (i * (i + 1)) / 2
t.append(sum)
}
for _ in 0..<n {
let num = Int(readLine()!)!
var isSuccess = false
for i in 0..<t.count {
for j in 0..<t.count {
for k in 0..<t.count {
if t[i] + t[j] + t[k] == num {
isSuccess = true
}
}
}
}
isSuccess == true ? print(1) : print(0)
}
改善された回答let n = Int(readLine()!)!
for _ in 0..<n {
let num = Int(readLine()!)!
var t: [Int] = []
for i in 1...44 {
let sum = (i * (i + 1)) / 2
t.append(sum)
if sum > num {
break
}
}
var isSuccess = false
for i in 0..<t.count {
for j in 0..<t.count {
for k in 0..<t.count {
if t[i] + t[j] + t[k] == num {
isSuccess = true
}
}
}
}
isSuccess == true ? print(1) : print(0)
}
Reference
この問題について(白駿10448ユリカ理論-Swift), 我々は、より多くの情報をここで見つけました https://velog.io/@mandos1995/백준BOJ-10448-유레카-이론-Swiftテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol