C++中由N个磁铁组成的磁铁组数

在本教程中,我们将编写一个程序来查找给定磁铁可以形成的组数。

数字1代表正极,而数字0代表负极。

磁铁的两极为10或01。可以由相互吸引的磁铁形成一组。彼此面对的不同极的磁铁将在同一组中。

在这里,你有 N 个磁铁。您需要找出可以与它们形成的组的数量。

每当有两个不同的磁铁并排放置时,就会形成一个新的组。在这种情况下,增加组的计数。

示例

让我们看看代码。

#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;

}

输出结果

如果你运行上面的代码,那么你会得到下面的结果。

4

结论

如果您对本教程有任何疑问,请在评论部分提及。

以上是 C++中由N个磁铁组成的磁铁组数 的全部内容, 来源链接: utcz.com/z/335545.html

回到顶部