Marks

問題

コード

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>



using namespace std;

int to_num(char x){
  return x - '0';
}


int main(int argc, char *argv[]){
  int n, m;
  cin >> n >> m;

  vector<vector<int> > book(m, vector<int>(n));
  string temp;
  for(int i = 0; i < n; i++){
    cin >> temp;
    for(int j = 0; j < m; j++){
      book[j][i] = to_num(temp[j]);
    }
  }

  vector<int> best(m);
  for(int j = 0; j < m; j++){
    best[j] = *max_element(book[j].begin(), book[j].end());
  }

  int ret = 0;
  for(int i = 0; i < n; i++){
    for(int j = 0; j < m; j++){
      if(book[j][i] == best[j]){
	ret++;
	break;
      }
    }
  }
  cout << ret << endl;

  return 0;  

}