#include<iostream>
#include<iomanip>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
class Fruit{
public:
double a,b;
public:
Fruit(double x,double y)
{
a=x;
b=y;
}
void input()
{
cin>>a>>b;
}
virtual double total()
{
}//主函数是父类对象指针指向子类,如果不加virtual,则指针会根据指针类型去指向父类中的函数,
}; //加上的话,指针会找到自己的实际函数而不是虚构函数,即子类成员函数。
class Apple:public Fruit{
public:
Apple():Fruit(0,0)
{
}
Apple(int a,int b):Fruit(a,b)
{
}
double total()
{
return a*b*30.0;
}
};
class Pear:public Fruit{
public:
Pear():Fruit(0,0)
{
}
Pear(int a,int b):Fruit(a,b)
{
}
double total()
{
return a*b*20.0;
}
};
class Banana:public Fruit{
public:
Banana():Fruit(0,0)
{
}
Banana(int a,int b):Fruit(a,b)
{
}
double total()
{
return a*b*25.0;
}
};
int main()
{
Fruit* fruit;
string fruit_name;
double sum = 0.0;
int cases;
cin >> cases;
for(int i = 1; i <= cases; i++)
{
cin >> fruit_name;
if(fruit_name == "Apple")
fruit = new Apple();
if(fruit_name == "Banana")
fruit = new Banana();
if(fruit_name == "Pear")
fruit = new Pear();
fruit->input();
sum += fruit->total();
delete fruit;
}
cout << "Total Price : " << sum << endl;
return 0;
}