好像没人写swift的题解,我来写一篇

import Foundation

// 初始化变量
var L: Int = 0
var M: Int = 0
var cnt: Int = 0 // 用来计数剩余的树
var vis: [Int] = [] // 标记树是否被移除,0表示未移除,1表示已移除

// 读取L和M的值
if let input = readLine()?.split(separator: " ").compactMap({ Int($0) }), input.count == 2 {
    L = input[0]
    M = input[1]
}

// 初始化vis数组
vis = Array(repeating: 0, count: L + 1)

// 读取每对区间,并标记区间内的树为已移除
for _ in 1...M {
    if let range = readLine()?.split(separator: " ").compactMap({ Int($0) }), range.count == 2 {
        let head = range[0]
        let tail = range[1]
        for j in head...tail {
            vis[j] = 1
        }
    }
}

// 计算未被移除的树的数量
cnt = vis.filter({ $0 == 0 }).count

// 输出结果
print(cnt)