from State import State


class Problem:

    def __init__(self, initial):
        self.__initialConfig = initial
        self.__initialState = State()
        self.__initialState.setValues([initial])

    def expand(self, currentState):
        myList = []
        currentConfig = currentState.getValues()[-1]
        for j in range(currentConfig.getSize()):
            for x in currentConfig.nextConfig(j):
                myList.append(currentState + x)
        return myList

    def getRoot(self):
        return self.__initialConfig

d111deb9793a8c1f0738764b319f6ecd3bec3917
<mask token>


class Problem:
    <mask token>

    def expand(self, currentState):
        myList = []
        currentConfig = currentState.getValues()[-1]
        for j in range(currentConfig.getSize()):
            for x in currentConfig.nextConfig(j):
                myList.append(currentState + x)
        return myList
    <mask token>

<mask token>


class Problem:
    <mask token>

    def expand(self, currentState):
        myList = []
        currentConfig = currentState.getValues()[-1]
        for j in range(currentConfig.getSize()):
            for x in currentConfig.nextConfig(j):
                myList.append(currentState + x)
        return myList

    def getRoot(self):
        return self.__initialConfig

<mask token>


class Problem:

    def __init__(self, initial):
        self.__initialConfig = initial
        self.__initialState = State()
        self.__initialState.setValues([initial])

    def expand(self, currentState):
        myList = []
        currentConfig = currentState.getValues()[-1]
        for j in range(currentConfig.getSize()):
            for x in currentConfig.nextConfig(j):
                myList.append(currentState + x)
        return myList

    def getRoot(self):
        return self.__initialConfig

from State import State


class Problem:

    def __init__(self, initial):
        self.__initialConfig = initial
        self.__initialState = State()
        self.__initialState.setValues([initial])

    def expand(self, currentState):
        myList = []
        currentConfig = currentState.getValues()[-1]
        for j in range(currentConfig.getSize()):
            for x in currentConfig.nextConfig(j):
                myList.append(currentState + x)
        return myList

    def getRoot(self):
        return self.__initialConfig
