zoukankan      html  css  js  c++  java
  • 去哪儿面试题- 一组描述由人组成的网络的测试用例校验是否联通

     

    输入:

    包含一组描述由人组成的网络的测试用例。测试用例的第一行是两个整数
    P(2<= P <=50)和R(R>= 1),分别表示网络中包含的人数和网络中的关系数。接
    下来输入R对关系,每对关系由两个字符串组成,表示网络中这对关系所关联
    的两个人的名字。在本题中,名字是唯一的,且不包含空白字符。因为一个人
    可能与多个人有关系,所以同一个名字可能在一个测试用例中出现若干次。

    输出:
    对于测试用例,输入测试用例的编号和最大隔离度。如果该网络是不联通的
    则输出“DISCONNECTED"


    样例输入:
    4 4
    ChuQiao YuwenYue YanXun YuanChun YanXun YuwenYue YuwenYue YuanChun

    样例输出:

    2

    #coding:utf-8
    P,R = 0,0
    P, R = raw_input('').strip().split(' ')
    P = int(P)
    R = int(R)
    while P<2 or P>50 or R < 1:
        print('2<=P<= 50, R>=1')
        P, R = raw_input('').strip().split('')
    name_list = raw_input('').split(' ')
    #num_list = [0,2,4,6...]
    num_list = [x for x in range(len(name_list)) if x%2 == 0]
    name_set_list = [] 
    #重新定义一个name_set_list 格式为['name1name2','name2name1','name3name4','name4name3'....]
    for i in num_list:
        name_set_list.append(name_list[i] + name_list[i+1])
        name_set_list.append(name_list[i+1] + name_list[i])
    #set 去重,看有几个是重复的
    name_set = set(name_set_list)
    count = len(name_set_list) - len(name_set)
    if count == 0:
        print 'DISCONNECTED'
    else:
        print count
            
  • 相关阅读:
    将不确定变为确定~接口应该是什么
    架构,改善程序复用性的设计~目录(附核心原代码)
    php实战第二十五天
    java一道简单的括号匹配问题
    屈原坐上神十带来了iOS 7
    《别独自用餐》 警句摘录
    php实战第二十四天
    偷了世界的程序员
    变故
    “快排”笔记
  • 原文地址:https://www.cnblogs.com/timtike/p/7519889.html
Copyright © 2011-2022 走看看