C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

グラフのエッジカバーを計算するC++プログラム


グラフの頂点の数がnの場合、タスクはグラフのエッジカバーを計算することです。エッジカバーは、グラフのすべての頂点をカバーするために必要なエッジの最小数を見つけることです。

n=5のように

その場合、そのグラフは次のようになります-

グラフのエッジカバーを計算するC++プログラム

したがって、そのエッジカバーは3

グラフのエッジカバーを計算するC++プログラム

nが8である別の例を見てみましょう

グラフのエッジカバーを計算するC++プログラム

そして、そのエッジカバーは次のようになります:4

グラフのエッジカバーを計算するC++プログラム

Input: n= 5
Output: 3
Input: n= 8
Output: 4

以下で使用されるアプローチは次のとおりです

  • ユーザーからの入力を受け取ります
  • 頂点の数の結果の上限値を2.0で割って求めます
  • 結果を返して印刷します。

アルゴリズム

Start
Step 1-> declare function to calculate the edge cover of a graph
   int edge(int n)
      set float val = 0
      set val = ceil(n / 2.0)
      return val
step 2-> In main()
   set int n = 10
   call edge(n)
Stop

#include <bits/stdc++.h>
using namespace std;
// Function to calculates Edge Cover
int edge(int n) {
   float val = 0;
   val = ceil(n / 2.0);
   return val;
}
int main() {
   int n = 10;
   cout<<"minium number of edges required are :"<<edge(n);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます

minium number of edges required are :5

  1. グラフ内のスーパー頂点を見つけるためのC++プログラム

    n個の頂点を持つグラフが与えられたとします。頂点には1からnの番号が付けられ、配列edgesで指定されたエッジによって接続されます。各頂点には、配列valuesで指定された1からnまでの数値内のx値があります。ここで、グラフからスーパー頂点を見つける必要があります。頂点1からiへの最短経路にi番目の頂点と同じ「x」値を持つ頂点がない場合、頂点iは「スーパー頂点」と呼ばれます。この基準を満たすすべての頂点を印刷します。 したがって、入力がn =5のようである場合、値={1、2、2、1、3}、エッジ={{1、2}、{2、3}、{2、3}、{2、4 }、{4、5}}の場合、出力は1 345に

  2. sin(x)およびcos(x)の値を計算するC++プログラム

    入力を角度として指定すると、指定した角度に対応するsin(x)とcos(x)の値を計算し、結果を表示することがタスクになります。 Sin(x)の場合 Sin(x)は、x角度の値を計算するために使用される三角関数です。 式 $$ \ sin(x)=\ displaystyle \ sum \ Limits_ {k =0} ^ \ infty \ frac {(-1)^ {k}} {(2k + 1)!} x ^ {2k + 1} $ $ Cos(x)の場合 Cos(x)は、x角度の値を計算するために使用される三角関数です。 式 $$ \ cos(x)=\ displays