解いた問題

7/16/2011

SRM459 Div1 Easy

250
全部試す。

class Inequalities {
public:
  int maximumSubset(vector <string> v) {

    vector<double> u;
    for(int i=0; i<v.size(); ++i){
      string s;
      for(int j=0; j<v[i].size(); ++j){
        if( isdigit(v[i][j]) ) s += v[i][j];
      }
      u.push_back( atoi( s.c_str() ) );
    }

    int mx = 1;
    for(double x=-1; x<=1001; x+=0.5){
      int cnt = 0;
      for(int i=0; i<v.size(); ++i){
        if(false);
        else if( v[i].find("<=") != string::npos ) cnt += x <= u[i];
        else if( v[i].find(">=") != string::npos ) cnt += x >= u[i];
        else if( v[i].find("<")  != string::npos ) cnt += x <  u[i];
        else if( v[i].find(">")  != string::npos ) cnt += x >  u[i];
        else if( v[i].find("=")  != string::npos ) cnt += x == u[i];
      }
      mx = max( mx, cnt );
    }

    return mx;
  }
};

0 件のコメント :

コメントを投稿