Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Số nhóm nam châm từ N nam châm C++

Nam châm: "10" (dương-âm) hoặc "01" (âm-dương). Nhóm hình thành khi nam châm hút nhau (cực khác nhau kề nhau). Cho N nam châm, đếm số nhóm.

Quy tắc: Khi hai nam châm kề nhau khác nhau, tạo nhóm mới. Khởi tạo count=1, duyệt từ 1: nếu magnets[i] != magnets[i-1] thì count++.

Ví dụ: ["10","01","01","01","10","01"] → 4 nhóm.

Giải thuật

  • count = 1
  • Vòng lặp i=1..n-1: nếu magnets[i] != magnets[i-1] thì count++
  • Trả về count

Ví dụ minh họa

#include <bits/stdc++.h> 
using namespace std; 

int getMangetGroupsCount(string magnets[], int n) { 
    int count = 1; 
    for (int i = 1; i < n; i++) { 
        if (magnets[i] != magnets[i - 1]) count++; 
    } 
    return count; 
} 

int main() { 
    string magnets[] = { "10", "01", "01", "01", "10", "01" }; 
    int n = 6; 
    cout << getMangetGroupsCount(magnets, n) << endl; 
    return 0; 
} 

Đầu ra

4