VLAN资源池

标题:VLAN资源池 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
VLAN是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLAN ID(1-4094之间的整数)的概念。定义一个VLAN ID的资源池(下称VLAN资源池),资源池中连续的VLAN用开始VLAN-结束VLAN表示,不连续的用单个整数表示,所有的VLAN用英文逗号连接起来。现在有一个VLAN资源池,业务需要从资源池中申请一个VLAN,需要你输出从VLAN资源池中移除申请的VLAN后的资源池。

def set_false(start, end, data_a):
    for i in range(start, end+1):
        data_a[i] = True


if __name__ == '__main__':
    data_all = [False for i in range(4095)]
    data_in = input().strip().split(',')
    v_id = int(input().strip())
    for i in data_in:
        if '-' in i:
            i_data = i.split('-')
            set_false(int(i_data[0]),int(i_data[1]),data_all)
        else:
            data_all[int(i)] = True
    data_all[v_id] = False
    res = ''
    i = 1
    while i < 4095:
        if data_all[i]:
            count = 1
            for j in range(i+1,4095):
                if data_all[j]:
                    count += 1
                else:
                    break
            if count > 1:
                res += str(i)+'-'+str(i + count - 1)+','
                i += count - 1
            else:
                res += str(i)+','
        i += 1
    print(res[:-1])



全部评论
你好你这个刷题平台是什么
点赞 回复 分享
发布于 2023-07-19 16:11 广东

相关推荐

04-03 22:39
重庆大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务