トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

05da1.c

#include <stdio.h>

int tanri(int gankin, int nen, double rishi, int tesuu)
{
	int A,B,i,sumrishi=0;
	
	A=gankin;
	for(i=0; i<nen; i++){
		B=A*rishi;
		A=A-tesuu;
		sumrishi+=B;
	}
	return(A+sumrishi);
} 

int fukuri(int gankin, int nen, double rishi, int tesuu)
{
	int A,B,i;
	
	A=gankin;
	for(i=0; i<nen; i++){
		B=A*rishi;
		A=A+B-tesuu;
	}
	return(A);
}
int main(void)
{
	int i,j,m,n;
	int gankin, nen, type, tesuu, kekka, max;
	double rishi;
	
	scanf("%d", &m);
	for(i=0; i<m; i++){
		scanf("%d", &gankin);
		scanf("%d", &nen);
		scanf("%d", &n);
		max=0;
		for(j=0;j<n; j++){
			scanf("%d %lf %d", &type, &rishi, &tesuu);
			switch(type){
				case 0 : kekka=tanri(gankin, nen, rishi, tesuu); break;
				case 1 : kekka=fukuri(gankin, nen, rishi, tesuu); break;
			}
			if(max<kekka){
				max=kekka;
			}
		}
		printf("%d\n", max);
	}
	
	return(0);
}