Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหาเส้นผ่านศูนย์กลาง วงจร และเส้นขอบของกราฟล้อใน C++

คำอธิบายปัญหา

ให้จำนวนโหนด V ของ Wheel Graph หาเส้นผ่านศูนย์กลาง (diameter), จำนวนวงจร (cycles), และจำนวนเส้นขอบ (edges)

พื้นฐาน Wheel Graph

Wheel Graph Wₙ: Cycle graph Cₙ₋₁ เพิ่มโหนดใหม่ 1 ตัว (hub) เชื่อมกับทุกโหนดของ cycle

สูตร

  • Diameter: 1 ถ้า V=4, มิฉะนั้น 2
  • Cycles: V² - 3(V-1)
  • Edges: 2(V-1)

ตัวอย่าง

V = 9
Diameter = 2
Cycles = 9² - 3×8 = 81 - 24 = 57
Edges = 2×8 = 16

ตัวอย่างโค้ด C++

#include <iostream>
#include <cmath>
using namespace std;

void calcWheelGraph(int V) {
    // Diameter
    if(V == 4) cout << "Diameter = 1\n";
    else cout << "Diameter = 2\n";
    
    // Cycles
    cout << "Cycles = " << (V*V - 3*(V-1)) << "\n";
    
    // Edges
    cout << "Edges = " << (2*(V-1)) << "\n";
}

int main() {
    int V = 9;
    calcWheelGraph(V);
    return 0;
}

ผลลัพธ์

Diameter = 2
Cycles = 57
Edges = 16