Untitled

 avatar
unknown
plain_text
2 years ago
1.2 kB
0
Indexable
#include<iostream>
using namespace std;
int ans=-1;
int dx[3]={-1,-1,-1};
int dy[3]={0,-1,1};
int N;
int a[15][15];
void chay(int r, int c, int sum, int bom)
{
	if(r==0){
		if(ans<sum) 
		{
			ans =sum;

		}
		return ;
	}
	for(int i=0; i<3;i++){
		int x1= r+dx[i];
		int x2= c+dy[i];
		if( x1>=0 && x1<N && x2>=0 && x2<5){
			if(sum>=0){
				if(a[x1][x2]<2)chay(x1,x2,sum+a[x1][x2],bom);

				if(a[x1][x2]==2)
				{
					if(bom){ 
						for( int j=x1;j>x1-5;j--){
							for(int c =0; c<5; c++){
								if(a[j][c]==2){
									a[j][c]=3;
								}
							}
						}
						chay(x1,x2,sum,0);
						for( int j=x1;j>x1-5;j--){
							for(int c =0; c<5; c++){
								if(a[j][c]==3){
									a[j][c]=2;
								}
							}
						}
					}
					else chay(x1,x2,sum-1,0);
				}

				else if(a[x1][x2]==3&& sum>=0) chay(x1,x2,sum,0);
			}
		}
	}

}
int main()
{
	//freopen("text.txt","r",stdin);
	int t;
	cin>>t;
	int sum;
	for(int tc=1; tc<=t;tc++){
		cin>>N;
		for(int i=0;i<N;i++){
			for(int j=0; j<5;j++){
				cin>>a[i][j];
			}
		}
		sum=0;
		ans = -1;
		chay(N,2,sum,1);
		cout<<"Case #"<<tc<<endl;
		cout<<ans<<endl;
	}

	return 0;
}
Editor is loading...