当前位置: 首页 > 编程笔记 >

在C ++程序中重复分发所有球

吴镜
2023-03-14
本文向大家介绍在C ++程序中重复分发所有球,包括了在C ++程序中重复分发所有球的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将学习如何在不伤害任何人的情况下为k个学生分配n个球。

这个想法很简单,我们有n个不同颜色的球需要分发给学生。我们不必给任何一个学生一个以上相同颜色的球。如果学生有可能获得多个同色的球,则不应进行分配。

让我们来看一个例子。

输入

n = 10
k = 5
ballsColors = "rrrgbrbgbr"

输出

Yes

颜色不超过学生人数(k)。因此,没有一个学生会得到超过一个相同颜色的球。

让我们看看解决问题的步骤。

  • 初始化n,k和ball颜色。

  • 初始化映射以存储球的颜色计数。

  • 遍历球的颜色并找到每种球颜色的计数。

  • 现在,遍历每个球的计数。

    • 如果任何一个球的颜色大于学生人数,则无法分发。

    • 否则,我们可以分发球了。

  • 打印结果。

示例

让我们看一下代码。

#include <bits/stdc++.h>
using namespace std;
bool canDistributeBalls(string ballsColors, int n, int k) {
   map<char, int> charCount;
   for (int i = 0; i < n; i++) {
      charCount[ballsColors[i]]++;
   }
   map<char , int >::iterator itr;
   for(itr = charCount.begin(); itr != charCount.end(); itr++) {
      if (itr->second > k) {
         return false;
      }
   }
   return true;
}
int main() {
   int n = 10, k = 5;
   string ballsColors = "rrrgbrbgbr";
   if (canDistributeBalls(ballsColors, n, k)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}
输出结果

如果运行上述程序,则会得到以下结果。

Yes

结论

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 在MySQL中删除重复的行 (25个答案) 3个月前关闭。 如何从MySQL表中删除所有重复数据? 例如,具有以下数据: 我会使用,如果它是一个查询。 我该怎么做才能只删除重复项并仅保留每个记录一个? 问题答案: 编辑者警告:此解决方案的计算效率低下,可能会降低大型表的连接。 注意:您 需要 首先在表的 测试副本 上执行此操作! 完成此操作后,我发现,除

  • 本文向大家介绍C程序打印所有ASCII值。,包括了C程序打印所有ASCII值。的使用技巧和注意事项,需要的朋友参考一下 问题 打印0到255个字符的美国信息交换标准代码(ASCII)值,而无需将该字符初始化为整数类型变量。只需使用格式说明符。 解决方案 在这里,我们正在编写一个程序,仅打印65到122。 如果要查看所有ASCII值,则在for循环中可以编写如下: 然后,它打印从0到255的所有AS

  • 我的程序应该接受任何数据类型的文件输入并显示它。然而,在阅读第7个元素后,我得到错误“NoSuchelementException” 这是我的代码:

  • 问题内容: 我希望能够计算Pandas DataFrame中数据的描述性统计信息,但我只关心重复的条目。例如,假设我通过以下方式创建了DataFrame: 如您所见,行0、1、3、4、6和7都是重复的(使用’key1’和’key2’。但是,如果我像这样索引此DataFrame: 我懂了 (即第一行和第二行不会显示,因为重复的方法未将它们索引为True)。 那是我的第一个问题。我的第二个问题涉及如何

  • 我得到一个新的错误: log4j: WARN无法找到记录器的附加程序(net.sf.jasperreports.engine.xml.JRXmlDigesterFactory)。log4j: WARN请正确初始化log4j系统。 我正在使用NetBeans 7.0。0.我想开发报告。我已经设置了Log4j。jar在我的类路径中,但仍然可以看到错误。你能解释一下吗? 代码段:

  • 我需要删除所有行而不留下任何唯一记录。如果存在重复,则删除所有匹配的行。Criteria是C列,如果C列中存在任何重复记录,则删除整行(包括unique)。