倒水问题(暑假每日一题 17)

网友投稿 284 2022-11-05


倒水问题(暑假每日一题 17)

现在在保证不会有漏水的情况下进行若干次如下操作:

输入格式 输入包含多组测试数据。

输出格式 每组数据输出一个结果,占一行。

输入样例:

0 5 52 2 4

输出样例:

23

#include#includeusing namespace std;int A, B, C;void dfs(int a, int b, int c, unordered_set &S){ if(a == A && b == B || c == 0){ S.insert(c); return; } int x; if(A && a != A) { x = min(A - a, c); dfs(a + x, b, c - x, S); } if(B && b != B){ x = min(B - b, c); dfs(a, b + x, c - x, S); } if(A && a == A){ x = min(a, B - b); dfs(a - x, b + x, c, S); } if(B && b == B){ x = min(A - a, b); dfs(a + x, b - x, c, S); }}int main(){ while(cin >> A >> B >> C){ unordered_set S; dfs(0, 0, C, S); cout << S.size() << endl; } return 0;}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:研究生考试成绩查询API(研究生考试成绩查询时间2022)
下一篇:万年历查询API(万年历查询黄道吉日 老黄历2022年)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~