
typedef struct {
int big;
int medium;
int small;
} ParkingSystem;
ParkingSystem* parkingSystemCreate(int big, int medium, int small) {
ParkingSystem* obj = (ParkingSystem*)malloc(sizeof(ParkingSystem));
obj->big = big;
obj->medium = medium;
obj->small = small;
return obj;
}
bool parkingSystemAddCar(ParkingSystem* obj, int carType) {
switch(carType){
case 1:
if(obj->big > 0){
obj->big--;
return true;
}
else return false;
case 2:
if(obj->medium > 0){
obj->medium--;
return true;
}
else return false;
case 3:
if(obj->small > 0){
obj->small--;
return true;
}
else return false;
}
return false;
}
void parkingSystemFree(ParkingSystem* obj) {
free(obj);
}
/**
* Your ParkingSystem struct will be instantiated and called as such:
* ParkingSystem* obj = parkingSystemCreate(big, medium, small);
* bool param_1 = parkingSystemAddCar(obj, carType);
* parkingSystemFree(obj);
*/

這題題目蠻複雜,但是概念不難