A26381. 取球游戏
填空题
较易
知识点
题目描述
取球游戏
题目描述
一个口袋中放有若干个球,已知其中 a 个是红的, b 个是白的, c 个是黑的,现在从中任取 x 个,问有多少种颜色搭配。
输入格式
输入共两行。
第一行:三个正整数,表示 a,b,c。
第二行:单个正整数,表示 x。
输出格式
输出所有方案,每个方案一行,用三个正整数分别表示红、白、黑颜色球的数量,用空格隔开。按照红球个数为第一关键词,白球个数为第二关键词,黑球个数为第三关键词从小到大依次输出。
输入样例
3 4 2
7输出样例
1 4 2
2 3 2
2 4 1
3 2 2
3 3 1
3 4 0说明提示
1≤a,b,c,x≤100
参考答案
#include <stdio.h>
int main() {
int a, b, c, x;
scanf("%d %d %d", &a, &b, &c);
scanf("%d", &x);
int count = 0;
// 遍历红球可能的数量
for (int red = 0; red <= a && red <= x; red++) {
// 遍历白球可能的数量
for (int white = 0; white <= b && white <= x - red; white++) {
int black = x - red - white;
// 检查黑球数量是否符合条件
if (black >= 0 && black <= c) {
printf("%d %d %d\n", red, white, black);
count++;
}
}
}
// 如果没有找到任何方案,题目保证至少存在一种方案,因此此代码不会执行
// if (count == 0) printf("No solution\n");
return 0;
}
上一题
下一题