aoc-2023/day5/structs.h
2023-12-25 11:39:35 +12:00

72 lines
1.1 KiB
C

#ifndef structybois
#define structybois
typedef struct Maps
{
int *nums;
} Maps;
typedef struct Seeds
{
Maps *nums;
} Seeds;
typedef struct SeedToSoilMap
{
Maps *first;
Maps *second;
} SeedToSoilMap;
typedef struct SoilToFertiMap
{
Maps *first;
Maps *second;
Maps *third;
} SoilToFertiMap;
typedef struct FertiToWaterMap
{
Maps *first;
Maps *second;
Maps *third;
Maps *fourth;
} FertiToWaterMap;
typedef struct WaterToLightMap
{
Maps *irst;
Maps *second;
} WaterToLightMap;
typedef struct LightToTempMap
{
Maps *first;
Maps *second;
Maps *third;
} LightToTempMap;
typedef struct TempToHumidMap
{
Maps *first;
Maps *second;
} TempToHumidMap;
typedef struct HumidToLocMap
{
Maps *first;
Maps *second;
} HumidToLocMap;
typedef struct Almanac
{
Seeds *seeds;
SeedToSoilMap *seedtosoil;
SoilToFertiMap *soiltoferti;
FertiToWaterMap *ferttowater;
WaterToLightMap *watertplight;
LightToTempMap *lighttotemp;
TempToHumidMap *temptohumid;
HumidToLocMap *humidtoloc;
} Almanac;
#endif