描述 可口可乐公司的Tom博士正在实验室里进行饮料调配。实验室里有两个操作台A和B,分别各自摆放着一个1000毫升的饮料桶和10个各种大小的量杯。一开始AB两个操作台上饮料桶里的可乐是满的(两个操作台上可乐的原材料不一样),量杯是空的。 第1次,Tom博士从操作台A上取出一个量杯装满可乐,然后倒入到操作台B的饮料桶里,这个量杯就留在操作台B上。 第2次,Tom博士从操作台B上取出一个量杯(有可能就是第1次操作后留在B操作台上的那个)装满可乐,然后倒入到操作台A的饮料桶里,这个量杯就留在操作台A上。 第3次,Tom博士从操作台A上取出一个量杯(有可能就是第2次操作后留在A操作台上的那个)装满可乐,然后倒入到操作台B的饮料桶里,这个量杯就留在操作台B上。 第4次,Tom博士从操作台B上取出一个量杯(有可能就是第1次或第3次操作后留在B操作台上的那个)装满可乐,然后倒入到操作台A的饮料桶里,这个量杯就留在操作台A上。 这时Tom博士测量了一下操作台A上饮料桶里的可乐容量。他总共可能得到多少种不同的容量数值? 输入 输入第1行10个整数,表示操作台A上每个量杯的大小,单位是毫升; 输入第2行10个整数,表示操作台B上每个量杯的大小,单位是毫升。 所有量杯大小都在1到100之间。 输出 输出一个数表示答案。 输入样例 1 1 1 1 1 1 1 1 1 1 2 5 5 5 5 5 5 5 5 5 5 输出样例 1 5 输入样例 2 10 5 12 3 6 1 5 8 11 3 2 3 9 4 5 5 14 15 7 5 输出样例 2 43 c++代码,不要解释
时间: 2024-04-17 08:26:12 浏览: 180
```cpp
#include <iostream>
#include <set>
using namespace std;
int main() {
int A[10];
int B[10];
for (int i = 0; i < 10; i++) {
cin >> A[i];
}
for (int i = 0; i < 10; i++) {
cin >> B[i];
}
set<int> result;
for (int i = 0; i < 10; i++) {
int tempA = A[i];
int tempB = B[i];
for (int j = 0; j < 4; j++) {
if (j % 2 == 0) {
tempB += tempA;
} else {
tempA += tempB;
}
result.insert(tempA);
}
}
cout << result.size() << endl;
return 0;
}
```
阅读全文