2018.03.31----奇虎360技术笔试题

题目1:
茉莉邀请她的朋友参加周末派对,茉莉买了3种颜色的气球,现在她要有这些气球来装饰餐桌,每个餐桌只用恰好3个气球来装饰,要求3个气球颜色不能完全一样,可以是2或3种颜色,茉莉想知道这些气球最多能装饰多少张餐桌。

输入:
第一行一个数T(T<=100),表示数据组数。
对于每组数据,第一行3个整数r,g,b,分别表示三种颜色的气球个数(0<=r,g,b<=2*10^9)

输出:
对于每组数据,输出一行,一个整数表示最多能装饰的餐桌数量。

样例输入:
2
5 4 3
2 3 3


样例输出:
4
2


Python 3.5代码:

def Count(array):
    array.sort()
    if (array[0]+array[1])*2<=array[2]:
        return (array[0]+array[1])
    else:
        return (sum(array)//3)

if __name__ == "__main__":
    T=int(input())
    b=[]
    for j in range(T):
        T1=input().split()
        a=[]
        for i in T1:
            a.append(int(i))
        b.append(a)
    for i in range(len(b)):
        if len(b[i]) == 3:
            print(Count(b[i]))
        else:
            print("wrong")


题目2:
茉莉有一个画板,画板可以抽象成100行每行100个像素点的正方形。茉莉在画板上画画,一共画了n次,每次将一个矩形涂上颜色。茉莉想知道一共有多少个像素点被她涂过颜色。若一个像素点被涂了k次,那么认为有k个像素点被涂过颜色。

输入:

每一行一个数T(T<=100),表示数据组数。
对于每组数据,第一行一个整数n,(1<=n<=100)
接下来n行,每行4个整数x1,y1,x2,y2(1<=x1<=x2<=100, 1<=y1<=y2<=100),表示两个矩形的两个对角所对应的像素点的坐标。

输出

对于每组数据,输出一行,表示茉莉一共涂了多少个像素点。

样例输入:

2
2
1 1 2 3
2 2 3 3
2
1 1 3 3
1 1 3 3

样例输出:

10
18

Pyhton3.5 代码:
def Count(array):
    array2=[]
    for m in range(len(array)):
        a=array[m][2]-array[m][0]+1
        b=array[m][3]-array[m][1]+1
        array2.append(a*b)
    print(sum(array2))

if __name__ == "__main__":
    T0=int(input())
    a1=[]
    for i in range(T0):
        T = int(input())
        b=[]
        for j in range(T):
            T1=input().split()
            a=[]
            for n in T1:
                a.append(int(n))
            b.append(a)
        a1.append(b)
    for i in range(len(a1)):
        Count(a1[i])

你可能感兴趣的:(2018.03.31----奇虎360技术笔试题)