3つ全てがアルファベットのモノは必ず使った方がよいのは明らか。
どれを端に付け加えるべきかを全部試す。
本番では、多くの人が落ちていた。自分も落とした。
class DengklekMakingChains {
public:
int maxBeauty(vector <string> C)
{
vector<string> v;
vector<string> u;
int mx = 0;
for (int i = 0; i < C.size(); ++i) {
if (count(C[i].begin(), C[i].end(), '.') == 0) {
v.push_back(C[i]);
} else {
u.push_back(C[i]);
}
for (int j = 0; j < C[i].size(); ++j) {
if (C[i][j] != '.') mx = max(mx, C[i][j] - '0');
}
}
int sum = 0;
for (int i = 0; i < u.size(); ++i) {
for (int j = 0; j < u.size(); ++j) {
int a = 0, b = 0;
for (int k = 0; k < 3; ++k) {
if (u[i][k] == '.') break;
a += u[i][k] - '0';
}
for (int k = 2; 0 <= k; --k) {
if (u[j][k] == '.') break;
b += u[j][k] - '0';
}
if (i != j) sum = max(sum, a + b);
else sum = max(sum, max(a, b));
}
}
int c = 0;
for (int i = 0; i < v.size(); ++i) {
for (int j = 0; j < v[i].size(); ++j) {
c += v[i][j] - '0';
}
}
return max(mx, c + sum);
}
};
0 件のコメント :
コメントを投稿