
"""simple docstring"""


from __future__ import annotations







class 	lowerCamelCase__      :





			'''simple docstring'''



			def __init__(							self  ,  __UpperCAmelCase						)				->  None:
				_lowerCAmelCase			=vertices
				_lowerCAmelCase			=[[0] * vertices for _ in range(lowerCAmelCase_						)]



			def       _lowerCAmelCase	(							self  ,  __UpperCAmelCase						)				->  None:
				print("""Vertex \t Distance from Source"""						)
				for vertex in range(self.vertices						):
					print(lowerCAmelCase_  ,  """\t\t"""  ,  distances_from_source[vertex]						)



			def       _lowerCAmelCase	(							self  ,  __UpperCAmelCase  ,  __UpperCAmelCase						)				->  int:
				_lowerCAmelCase			=1e7
				_lowerCAmelCase			=0

				# Search not nearest vertex not in the shortest path tree
				for vertex in range(self.vertices						):
					if distances_from_source[vertex] < minimum and visited[vertex] is False:
						_lowerCAmelCase			=distances_from_source[vertex]
						_lowerCAmelCase			=vertex
				return min_index



			def       _lowerCAmelCase	(							self  ,  __UpperCAmelCase						)				->  None:
				_lowerCAmelCase			=[int(1e7						)] * self.vertices  # distances from the source
				_lowerCAmelCase			=0
				_lowerCAmelCase			=[False] * self.vertices

				for _ in range(self.vertices						):
					_lowerCAmelCase			=self.minimum_distance(lowerCAmelCase_  ,  lowerCAmelCase_						)
					_lowerCAmelCase			=True

					# Update dist value of the adjacent vertices
					# of the picked vertex only if the current
					# distance is greater than new distance and
					# the vertex in not in the shortest path tree
					for v in range(self.vertices						):
						if (
						    self.graph[u][v] > 0
						    and visited[v] is False
						    and distances[v] > distances[u] + self.graph[u][v]
						):
							_lowerCAmelCase			=distances[u] + self.graph[u][v]

				self.print_solution(lowerCAmelCase_						)


if __name__ == "__main__":
			__A 		= Graph(9)
			__A 		= [
			    [0, 4, 0, 0, 0, 0, 0, 8, 0],
			    [4, 0, 8, 0, 0, 0, 0, 11, 0],
			    [0, 8, 0, 7, 0, 4, 0, 0, 2],
			    [0, 0, 7, 0, 9, 14, 0, 0, 0],
			    [0, 0, 0, 9, 0, 10, 0, 0, 0],
			    [0, 0, 4, 14, 10, 0, 2, 0, 0],
			    [0, 0, 0, 0, 0, 2, 0, 1, 6],
			    [8, 11, 0, 0, 0, 0, 1, 0, 7],
			    [0, 0, 2, 0, 0, 0, 6, 7, 0],
			]
			graph.dijkstra(0)





"""simple docstring"""


# 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,
)


__A 		= {
    'configuration_convnextv2': [
        'CONVNEXTV2_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'ConvNextV2Config',
    ]
}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__A 		= [
			    'CONVNEXTV2_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'ConvNextV2ForImageClassification',
			    'ConvNextV2Model',
			    'ConvNextV2PreTrainedModel',
			    'ConvNextV2Backbone',
			]


if TYPE_CHECKING:
			from .configuration_convnextva import (
			    CONVNEXTV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
			    ConvNextVaConfig,
			)

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_convnextva import (
						    CONVNEXTV2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    ConvNextVaBackbone,
						    ConvNextVaForImageClassification,
						    ConvNextVaModel,
						    ConvNextVaPreTrainedModel,
						)

else:
			import sys

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



