Подсчет количества ребер ориентированного графа - C#
Формулировка задачи:
Задание: Ориентированный граф задан матрицей смежности. Найдите количество ребер в графе.
Входные данные
На вход программы поступает число n ( 1$ le$n$ le$100) – количество вершин в графе, а затем n строк по n чисел, каждое из которых равно 0 или 1, – его матрица смежности.
Выходные данные
Выведите одно число – количество ребер заданного графа.
Примеры
входные данные
5
0 0 0 0 0
0 0 0 0 1
1 1 0 0 0
0 0 0 0 0
0 0 0 0 0
выходные данные
3
вот сам код
Мне пишут,что это решение частичное,почему? я не понимаю.Помогите пожалуйста
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication2
- {
- class Program
- {
- static void Main(string[] args)
- {
- int n = Convert.ToInt32(Console.ReadLine());
- List<int[]> a = new List<int[]>();
- int output = 0;
- List<String> vertex = new List<String>();
- if (n <= 100 && n >= 1)
- {
- for (int i = 0; i < n; i++)
- {
- string[] strings = Console.ReadLine().Split();
- int[] row = new int[n];
- for (int j = 0; j < strings.Length; j++)
- {
- int value = Int32.Parse(strings[j]);
- row[j] = value;
- if (value == 1)
- {
- String current_v = (i + 1).ToString() + (j + 1).ToString();
- String reverse_current_v = new string(current_v.Reverse().ToArray());
- if (vertex.Count == 0)
- {
- output++;
- vertex.Add(current_v);
- }
- else
- {
- bool into_vertex = false;
- foreach (String v in vertex)
- {
- if (v.Equals(current_v) || v.Equals(reverse_current_v))
- {
- into_vertex = true;
- }
- }
- if (!into_vertex)
- {
- output++;
- vertex.Add(current_v);
- }
- }
- }
- }
- a.Add(row);
- }
- Console.WriteLine("");
- Console.WriteLine(output);
- }
- }
- }
- }
Решение задачи: «Подсчет количества ребер ориентированного графа»
textual
Листинг программы
- using System;
- using System.IO;
- class Program
- {
- static void Main()
- {
- var stream = Console.OpenStandardInput();
- var input = new StreamReader(stream);
- int n = int.Parse(input.ReadLine());
- int count = 0;
- for (int i = 0; i < n; i++)
- {
- var line = input.ReadLine();
- for (int j = 0; j < n; j++)
- count += line[2 * j] - '0';
- }
- Console.WriteLine(count);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д