测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题