社区讨论

20求调

P1215[USACO1.4] 母亲的牛奶 Mother's Milk参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m6vr0y6f
此快照首次捕获于
2025/02/08 13:22
去年
此快照最后确认于
2025/11/04 09:45
4 个月前
查看原帖
枚举6种情况但就是错
CPP
#include<bits/stdc++.h>
using namespace std;
bool v[21][21][21],f[21];
int a,b,c;
void bfs(int A,int B,int C)
{
	if(v[A][B][C]==1) return;//标记 
	else v[A][B][C]=1;
	if(A==0&&!f[C]) f[C]=1;
	if(a-A>=C) bfs(A+C,B,0);//C倒给A 
	else if(a-A<C) bfs(a,B,C+A-a);
	if(b-B>=C) bfs(A,B+C,0);//C倒给B 
	else if(b-B<C) bfs(A,b,C+B-b);
	if(a-A>=B) bfs(A+B,0,C);//B倒给A 
	else if(a-A<B) bfs(a,B+A-a,C);
	if(c-C>=B) bfs(A,0,B+C);//B倒给C 
	else if(c-C<B) bfs(A,B+C-c,c);
	if(b-B>=A) bfs(0,A+B,C);//A倒给B 
	else if(b-B<A) bfs(A+B-b,b,C);
	if(c-C>=A) bfs(0,B,C+A);//A倒给C 
	else if(c-C<A) bfs(A+C-c,B,c);
}
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	bfs(0,0,c);
	for(int i=c-b;i<=c;i++)//从最小开始输出 
	{
		if(f[i])
			printf("%d ",i);
	}
	return 0;
}
QAQ

回复

3 条回复,欢迎继续交流。

正在加载回复...