解いた問題

8/23/2012

SRM436 Div2 Easy

250

2回間違った。ツライ。



  1. class FriendScore {  
  2. public:  
  3.   int highestScore(vector <string> F)  
  4.   {  
  5.     const int N = F.size();  
  6.     int cnt[N];  
  7.     fill(cnt, cnt + N, 0);  
  8.   
  9.     for (int i = 0; i < N; ++i) {  
  10.       for (int j = 0; j < N; ++j) {  
  11.         if (i == j) continue;  
  12.         if (F[i][j] == 'Y') ++cnt[j];  
  13.         else {  
  14.           for (int k = 0; k < N; ++k) {  
  15.             if (i == k || j == k) continue;  
  16.             if (F[i][k] == 'Y' && F[k][j] == 'Y') {  
  17.               ++cnt[j];  
  18.               break;  
  19.             }  
  20.           }  
  21.         }  
  22.       }  
  23.     }  
  24.   
  25.     return *max_element(cnt, cnt + N);  
  26.   }  
  27. };