bacon_egg @ ウィキ コケいろ-Ohgas' Fortune

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
struct sHow{
	int Kind;
	double Rate;
	int Fee;
};
 
struct sData{
	int FirstMoney;
	int Years;
	int KindNum;
	sHow How[100];
};
 
int main(){
	int m;		// データセット数
	double a=1;
	scanf("%d",&m);
	for(int i=0 ; i<m ; i++){
		sData Data;
		// 格納
		scanf("%d",&Data.FirstMoney);
		scanf("%d",&Data.Years);
		scanf("%d",&Data.KindNum);
		for(int j=0 ; j<Data.KindNum ; j++){
			int kind,fee;
			double rate=0;
			scanf("%d %lf %d",&kind,&rate,&fee);
			Data.How[j].Kind = kind;
			Data.How[j].Rate = rate;
			Data.How[j].Fee = fee;
 
		}
		// 計算
		int max = Data.FirstMoney;
		for(int j=0 ; j<Data.KindNum ; j++){
			int a = Data.FirstMoney;
			int b;
			int ruikei = 0;
			switch( Data.How[j].Kind ){
				case 0:		// 単利
					for(int k=0 ; k<Data.Years ; k++){
						b = (int)( a * Data.How[j].Rate );
						a = a - Data.How[j].Fee;
						ruikei += b;
					}
					a += ruikei;
					break;
				case 1:		// 複利
					for(int k=0 ; k<Data.Years ; k++){
						b = (int)( a * Data.How[j].Rate );
						a = a + b - Data.How[j].Fee;
					}
					break;
			}
			if( a>max ){
				max = a;
			}
		}
		printf("%d\n",max);
	}
 
	return 0;
}