君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #108 (Div. 2)

はい。
http://codeforces.com/contest/152

A. Marks

implementation

ざっくりと大意

・n人の学生の数列をm列で比較して一度でも最大値(単独でなくても良い)を取ってれば成功の学生。

方針のようなもの

・列ごとに比較して最大値を取った行はsetに押し込んで最後にsetのlenを出力でいいかな。
・比較する数値は1から9までn,mも最大で100なら時間もメモリも気にしなくていいでしょう、と思ったけど書き始めたら2重ループを二回とか回すとか超ブサイクだった。。。。

n,k=map(int,raw_input().split())
l=[]
for i in range(n):
    ka=[int(x) for x in list(raw_input())]
    l.append(ka)
ans=chk=0
ans=set()
chk=[]
for i in range(k):
    chk.append([])
    for j in range(n):
        chk[i].append(int(l[j][i]))
for a in range(k):
    for b in range(n):
        if chk[a][b]==max(chk[a]):
            ans.add(b)
print len(ans)