Untitled
unknown
plain_text
2 years ago
825 B
3
Indexable
#include<iostream> using namespace std; int map[50][5]; int cau,x,y,N; int cnt,maxx; int dy[3]={-1,0,1}; void backtrack(int x,int y,int cnt,int cau){ if(x==0){ if(cnt>maxx){ maxx=cnt; } return; } for(int i=0;i<3;i++){ int xx=x-1; int yy=y+dy[i]; if(xx>=0&&xx<N&&yy>=0&&yy<5){ if(map[xx][yy]==1){ backtrack(xx,yy,cnt+1,cau); } else if(map[xx][yy]==2){ if(cau!=0){ backtrack(xx,yy,cnt,0); } } else if(map[xx][yy]==0){ backtrack(xx,yy,cnt,cau); } } } } int main(){ //freopen("input.txt","r",stdin); int T; cin>>T; for(int tc=1;tc<=T;tc++){ cin>>N; for(int i=0;i<N;i++){ for(int j=0;j<5;j++){ cin>>map[i][j]; } } maxx=-1; backtrack(N,2,0,1); cout<<"#"<<tc<<" "<<maxx<<endl; } return 0; }
Editor is loading...