

芯片测试

时间限制: 1Sec 内存限制: 128MB 提交: 981 解决: 503

**题目描述**
```
有n（2≤n≤20）块芯片，有好有坏，已知好芯片比坏芯片多。

每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时，能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时，会随机给出好或是坏的测试结果（即此结果与被测试芯片实际的好坏无关）。

给出所有芯片的测试结果，问哪些芯片是好芯片。
```
**输入**
```
输入数据第一行为一个整数n，表示芯片个数。 

第二行到第n+1行为n*n的一张表，每行n个数据。表中的每个数据为0或1，在这n行中的第i行第j列（1≤i,  j≤n）的数据表示用第i块芯片测试第j块芯片时得到的测试结果，1表示好，0表示坏，i=j时一律为1（并不表示该芯片对本身的测试结果。芯片不能对本  身进行测试）。 
```

**输出**
```
按从小到大的顺序输出所有好芯片的编号 
```
**样例输入**
```
3 
1 0 1
0 1 0
1 0 1
```
**样例输出**
```
1 3
```


```
n=int(input())
map_=[]
dic={}
for i in range(n):
    temp=input().split()
    map_.append(temp)
    dic[tuple(temp)]=dic.get(tuple(temp),0)+1
a=max(dic,key=dic.get)
for i in range(n):
    if tuple(map_[i])==a:
        print(i+1,end=' ')

```

    3
    1 0 1
    0 1 0
    1 0 1
    1 3 


```
n=int(input())
map_=[]
dt={}
for i in range(n):
    temp=list(map(int ,input().split()))
    map_.append(temp)
    dt[tuple(temp)]=dt.get(tuple(temp),0)+1

a=max(dt,key=dt.get)
# b=max(dt.values())#,key=dt.values()
# print(b)
for i in range(n):
    if tuple(map_[i])==a:
        print(i+1,end=' ')
    
    
```

    3
    1 1 1
    1 1 1
    1 11 
    2
    1 2 

**python 字典获取最大和最小的value**


```
my_dict = {'x':500, 'y':5874, 'z': 560}  
  
key_max = max(my_dict.keys(), key=(lambda k: my_dict[k]))  
key_min = min(my_dict.keys(), key=(lambda k: my_dict[k]))  
  
print('Maximum Value: ',my_dict[key_max])  
print('Minimum Value: ',my_dict[key_min])
```

可以用max(dict,key=dict.get)方法获得字典dict中value的最大值所对应的键的方法，max(dict, key)方法首先遍历迭代器，并将返回值作为参数传递给key对应的函数，然后将函数的执行结果传给key，并以此时key值为标准进行大小判断，返回最大值

**sorted函数使用**


```
a=[1,2,3]
sorted(a)
```




    [1, 2, 3]




```
L=[('b',2),('a',1),('c',3),('d',4)]

sorted(L, key=lambda x:x[1]) 
```




    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]




```
from operator import itemgetter, attrgetter
L=[('b',2,2),('a',1,1),('c',3,3),('d',4,4),('e',4,3)]
print(sorted(L, key=lambda x:(x[1],x[2]) )) 

```

    [('a', 1, 1), ('b', 2, 2), ('c', 3, 3), ('e', 4, 3), ('d', 4, 4)]



```
sorted(L, key=itemgetter(1,2)) 
```




    [('a', 1, 1), ('b', 2, 2), ('c', 3, 3), ('e', 4, 3), ('d', 4, 4)]