飞机
#include <stdio.h> int a[12][5]; int b[12][5]; int ay[3]={0,1,-1}; int N,max=0; void zha(int x) { for(int i=0;i<N;i++) { for(int j=0;j<5;j++) { b[i][j]=a[i][j]; } } for(int i=x-4;i<=x;i++) { for(int j=0;j<5;j++) { if(b[i][j]==2) b[i][j]=0; } } } void fun(int step , int y , int sum) { if(step==-1) { if(sum>max) { max=sum; } return ; } for(int i=0;i<3;i++) { int k; if(y>=0&&y<5) { k=y+ay[i]; if(b[step][k]==2) { sum=sum-1; } else { sum+=b[step][k]; } fun(step-1,k,sum); if(b[step][k]==2) { sum=sum+1; } else { sum-=b[step][k]; } } } } void main() { freopen("in.txt","r",stdin); scanf("%d",&N); for(int i=0;i<N;i++) { for(int j=0;j<5;j++) { scanf("%d",&a[i][j]); } } for(int i=N-1;(i-4)>=0;i--) { zha(i); fun(N-1,2,0); } printf("%d",max); }