i will get max in c+1 categories using all possible combinations of c categories .
But how do i incorporate bonus point analysis. somebody please help me out with the algo of the problem.
i am stuck now.......
Moderator: Board moderators
int score(vector<int>& comb, int type) {
int sum = 0;
if (type < 6) {
for (int i = 0; i < 5; i++) {
if (comb[i] == type + 1)
sum += comb[i];
}
return sum;
}
switch (type) {
case 6:
for (int i = 0; i < 5; i++)
sum += comb[i];
break;
case 7:
for (int i = 0; i < 3; i++)
if (comb[i] == comb[i + 2]) {
sum = score(comb, 6);
}
break;
case 8:
for (int i = 0; i < 2; i++)
if (comb[i] == comb[i + 3]) {
sum = score(comb, 6);
}
break;
case 9:
if (comb[0] == comb[4]) {
sum = 50;
}
break;
case 10:
bool value[6];
memset(value, 0, sizeof(value));
for (int i = 0; i < 5; i++) {
value[comb[i] - 1] = 1;
}
for (int i = 0; i < 3; i++) {
if (value[i] && value[i + 1] && value[i + 2] && value[i + 3])
sum = 25;
}
break;
case 11:
memset(value, 0, sizeof(value));
for (int i = 0; i < 5; i++) {
value[comb[i] - 1] = 1;
}
for (int i = 0; i < 2; i++) {
if (value[i] && value[i + 1] && value[i + 2] && value[i + 3] && value[i + 4])
sum = 35;
}
break;
case 12:
if ((comb[0] == comb[1] && comb[2] == comb[4]) || (comb[0] == comb[2] && comb[3] == comb[4])) {
sum = 40;
}
break;
}
return sum;
}

Users browsing this forum: No registered users and 1 guest