/**
 * This exercise is focused on creating a set of categorized photos for a photographer.
 *
 * @param photos a list of photo names (strings) captured by the photographer
 * @param categories a list of category names (strings) that the photographer wants to create
 * @return A set of tuples, each containing two elements: the photo name and its category
 *
 * Instructions:
 * 1. Create an empty set called 'photoSet`.
 * 2. Iterate over each photo in the 'photos" list and each category in the 'categories" list.
 * 3. For each iteration, create a tuple containing the photo name and its category.
 * 4. Add the tuple to the 'photoSet`.
 * 5. Repeat steps 3 and 4 until all combinations of photos and categories have been added.
 * 6. Return the final 'photoSet`.
 */
fun createSet(photos: List<String>, categories: List<String>): Set<Pair<String, String>> {

    val photoSet = mutableSetOf<Pair<String, String>>()

    for (photo in photos) {
        for (category in categories) {
            photoSet.add(Pair(photo, category))
        }
    }

    return photoSet
}

// Example usage
val photos = listOf("photo1", "photo2", "photo3", "photo4")
val categories = listOf("category1", "category2", "category3")
val result = createSet(photos, categories)
/**
 * This exercise is focused on creating a set of categorized photos for a photographer.
 *
 * @param photos a list of photo names (strings) captured by the photographer
 * @param categories a list of category names (strings) that the photographer wants to create
 * @return A set of tuples, each containing two elements: the photo name and its category
 *
 * Instructions:
 * 1. Create an empty set called 'photoSet`.
 * 2. Iterate over each photo in the 'photos" list and each category in the 'categories" list.
 * 3. For each iteration, create a tuple containing the photo name and its category.
 * 4. Add the tuple to the 'photoSet`.
 * 5. Repeat steps 3 and 4 until all combinations of photos and categories have been added.
 * 6. Return the final 'photoSet`.
 */
fun createSet(photos: List<String>, categories: List<String>): Set<Pair<String, String>> {
/**
 * This exercise is focused on creating a set of categorized photos for a photographer.
 *
 * @param photos a list of photo names (strings) captured by the photographer
 * @param categories a list of category names (strings) that the photographer wants to create
 * @return A set of tuples, each containing two elements: the photo name and its category
 *
 * Instructions:
 * 1. Create an empty set called 'photoSet`.
 * 2. Iterate over each photo in the 'photos" list and each category in the 'categories" list.
 * 3. For each iteration, create a tuple containing the photo name and its category.
 * 4. Add the tuple to the 'photoSet`.
 * 5. Repeat steps 3 and 4 until all combinations of photos and categories have been added.
 * 6. Return the final 'photoSet`.
 */
fun createSet(photos: List<String>, categories: List<String>): Set<Pair<String, String>> {

    val photoSet = mutableSetOf<Pair<String, String>>()

    for (photo in photos) {
        for (category in categories) {
            photoSet.add(Pair(photo, category))
        }
    }

    return photoSet
}

// Example usage
val photos = listOf("photo1", "photo2", "photo3", "photo4")
val categories = listOf("category1", "category2", "category3")
val result = createSet(photos, categories)