




import math


class    SCREAMING_SNAKE_CASE_				:



	"""simple docstring"""


	def __init__(					self		:						Optional[int]					,     lowerCAmelCase		:						Optional[int]=0	)	->       Optional[int]:  # a graph with Node 0,1,...,N-1







						"""simple docstring"""







						__UpperCamelCase					:	Any             =      n
						__UpperCamelCase					:	Optional[Any]             =      [
						    [math.inf for j in range(0					,     lowerCAmelCase	)] for i in range(0					,     lowerCAmelCase	)
						]  # adjacency matrix for weight
						__UpperCamelCase					:	Any             =      [
						    [math.inf for j in range(0					,     lowerCAmelCase	)] for i in range(0					,     lowerCAmelCase	)
						]  # dp[i][j] stores minimum distance from i to j






	def 					lowerCamelCase__     (					self		:						Tuple					,     lowerCAmelCase		:						Optional[Any]					,     lowerCAmelCase		:						Tuple					,     lowerCAmelCase		:						List[Any]	)	->       Dict:







						"""simple docstring"""







						__UpperCamelCase					:	Optional[Any]             =      w






	def 					lowerCamelCase__     (					self		:						List[Any]	)	->       Dict:







						"""simple docstring"""







						for k in range(0					,     self.n	):
											for i in range(0					,     self.n	):
																for j in range(0					,     self.n	):
																					__UpperCamelCase					:	Optional[Any]             =      min(self.dp[i][j]					,     self.dp[i][k] + self.dp[k][j]	)






	def 					lowerCamelCase__     (					self		:						List[Any]					,     lowerCAmelCase		:						str					,     lowerCAmelCase		:						Dict	)	->       int:







						"""simple docstring"""







						return self.dp[u][v]


if __name__ == "__main__":
	a__		     =     Graph(5)
	graph.add_edge(0, 2, 9)
	graph.add_edge(0, 4, 10)
	graph.add_edge(1, 3, 5)
	graph.add_edge(2, 3, 7)
	graph.add_edge(3, 0, 10)
	graph.add_edge(3, 1, 2)
	graph.add_edge(3, 2, 1)
	graph.add_edge(3, 4, 6)
	graph.add_edge(4, 1, 3)
	graph.add_edge(4, 2, 4)
	graph.add_edge(4, 3, 9)
	graph.floyd_warshall()
	graph.show_min(1, 4)
	graph.show_min(0, 3)












# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


a__		     =     {
    '''configuration_efficientnet''': [
        '''EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''EfficientNetConfig''',
        '''EfficientNetOnnxConfig''',
    ]
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a__		     =     ['''EfficientNetImageProcessor''']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a__		     =     [
	    '''EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''EfficientNetForImageClassification''',
	    '''EfficientNetModel''',
	    '''EfficientNetPreTrainedModel''',
	]

if TYPE_CHECKING:
	from .configuration_efficientnet import (
	    EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    EfficientNetConfig,
	    EfficientNetOnnxConfig,
	)

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .image_processing_efficientnet import EfficientNetImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_efficientnet import (
		    EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST,
		    EfficientNetForImageClassification,
		    EfficientNetModel,
		    EfficientNetPreTrainedModel,
		)

else:
	import sys

	a__		     =     _LazyModule(__name__, globals()['''__file__'''], _import_structure)






