社区讨论

0分球掉(MLE)

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

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mjqz1yag
此快照首次捕获于
2025/12/29 17:44
2 个月前
此快照最后确认于
2026/01/01 19:10
2 个月前
查看原帖
0分球掉(MLE)
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int A,B,C,b[10000];
int a[100][100][100];
int dfs(int x,int y,int z){
	if(x==0)b[z]=1;
	a[x][y][z]=1;
	if(x!=0){
		if(x+y<=B){
			if(a[0][x+y][z]==0)dfs(0,x+y,z);
		}
		else{
			if(a[x+y-B][B][z]==0)dfs(x+y-B,B,z);
		}
		if(x+z<=C){
				if(a[0][y][z+x]==0)dfs(0,y,z+x);
			
		}else{
				if(a[x+z-C][y][C]==0)dfs(x+z-C,y,C);
			}
	}
	if(y!=0){
		if(x+y<=A){
			if(a[x+y][0][z]==0)dfs(x+y,0,z);
		}
		else{
			if(a[A][x+y-A][z]==0)dfs(A,x+y-A,z);
		}
		if(y+z<=C){
			if(a[x][0][y+z]==0)dfs(x,0,y+z);
		}
		else{
			if(a[x][z+y-C][C]==0)dfs(x,z+y-C,C);
		}
	}
	if(z!=0){
		if(x+z<=A){
			if(a[x+z][0][y]==0)dfs(x+z,0,y);
		}
		else{
			if(a[A][y][x+z-A]==0)dfs(A,y,x+z-A);
		}
		if(y+z<=B){
			if(a[x][y+z][0]==0)dfs(x,y+z,0);
		}
		else{
			if(a[x][B][y+z-B]==0)dfs(x,B,y+z-B);
		}
	}
}
signed main()
{
	cin>>A>>B>>C;
	dfs(0,0,C);
	for(int i=0;i<=C+A+B;i++){
		if(b[i]==1)cout<<i<<' ';
	} 
	return 0;
}

回复

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

正在加载回复...