๐Ÿ’ป Algorithm/Swift

[Swift] ๋ฐฑ์ค€ 15649 N๊ณผ M (1) (Back Tracking)

์„ ์ฃผ 2023. 1. 31. 22:50

 

๐Ÿ“Œ ํ’€์ด

๐Ÿ’ฌ Code

import Foundation

let input = readLine()!.split(separator: " ").map { Int(String($0))! }
let n = input[0]
let m = input[1]

var isUsed = [Bool].init(repeating: false, count: n+1)

backTracking(0, [])

func backTracking(_ cnt: Int, _ arr: [String]) {
    if cnt == m {
        print(arr.joined(separator: " "))
        return
    }
    for i in 1...n where !isUsed[i] {
        isUsed[i] = true
        backTracking(cnt+1, arr+[String(i)])
        isUsed[i] = false
    }
}

 

 

 

15649๋ฒˆ: N๊ณผ M (1)

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด

www.acmicpc.net