示例#1
0
END_TURN enter_bank(PLAYER *player) {
    
    END_TURN end_turn = YES;
    display_player_profile(player);
    display_bank_actions_menu();
    char choice = '\0';
    char *valid_choices = VALID_BANK_ACTIONS;
    
    while (!strpbrk(valid_choices, &choice)) {
        choice = getchar();
        choice = toupper(choice);
    }
    
    switch (choice) {
        case 'L':
            end_turn = take_out_loan(player);
            break;
        case 'P':
            end_turn = pay_bank(player);
            break;
        case 'I':
            end_turn = invest(player);
            break;
        case 'W':
            end_turn = withdraw_investment(player);
            break;
        case 'M':
            end_turn = NO;
            break;
    }
    
    return end_turn;
}
示例#2
0
文件: 2662.cpp 项目: YongHoonJJo/BOJ
int invest(int rest, int num)
{
	if(rest == 0 || num == m) return 0;

	int &ret = d[rest][num];
	if(ret != -1) return ret;

	ret = invest(rest, num+1);
	for(int i=1; i<=rest; i++) {
		int tmp = invest(rest-i, num+1)+benefit[i][num];
		if(ret < tmp) {
			ret = tmp;
			result[rest][num] = i;
		}
	}
	return ret;	
}
示例#3
0
文件: 2662.cpp 项目: YongHoonJJo/BOJ
int main()
{
	scanf("%d%d", &n, &m);

	for(int i=0; i<n; i++) {
		int cost;
		scanf("%d", &cost);
		for(int j=0; j<m; j++)
			scanf("%d", &benefit[cost][j]);
	}

	memset(d, -1, sizeof(d));
	printf("%d\n", invest(n, 0));
	trace(n, 0);
	return 0;
}