1 条题解

  • 0
    @ 2023-3-11 16:33:40
    #include<bits/stdc++.h>
    using namespace std;
    int A,B,C,h[101][101][101],a[1000001];
    void work(int x,int y,int z){
    	if(h[x][y][z])
    		return ;
    	h[x][y][z]=1;
    	if(x==0){
    		a[z]=1;
    	}
    	int t;
    	t=x+y;
    	if(t<B) 
    		work(0,t,z);
    	else 
    		work(t-B,B,z);
    	if(t<A) 
    		work(t,0,z);
    	else 
    		work(A,t-A,z);
    	t=y+z;
    	if(t<C) 
    		work(x,0,t);
    	else 
    		work(x,t-C,C);
    	if(t<B) 
    		work(x,t,0);
    	else 
    		work(x,B,t-B);
    	t=x+z;
    	if(t<A) 
    		work(t,y,0);
    	else 
    		work(A,y,t-A);
    	if(t<C) 
    		work(0,y,t);
    	else 
    		work(t-C,y,C);
    }
    int main(){
    	
    	cin>>A>>B>>C;
    	work(0,0,C);
    	for(int i=0;i<C;i++){
    		if(a[i]==true) 
    			cout<<i<<' ';
    	}
    	cout<<C;
    	
    	return 0;
    }
    
    
    • 1

    信息

    ID
    236
    时间
    1000ms
    内存
    64MiB
    难度
    3
    标签
    递交数
    14
    已通过
    12
    上传者