是說北市賽N<=20是可以爆搜的意思嗎@@....(我沒試過QAQ)
#include<stdio.h> #include<stdlib.h> int main() { int met[21][21]; int prc[21][21]; int n,e; while(scanf("%d %d",&n,&e)==2) { met[1][1]=e; for(int lx=0;lx<=n;lx++) { met[lx][0]=0; met[0][lx]=0; } for(int lx=1;lx<=n;lx++) { for(int ly=1;ly<=n;ly++) { if((ly==1)&&(lx>1)) met[lx][1]=e+lx; else if((lx+ly)>2) met[lx][ly]=((met[lx][ly-1]*17)%103)*(1-((lx+ly)%2)*2); } } for(int lx=1;lx<=n;lx++) for(int ly=1;ly<=n;ly++) prc[lx][ly]=prc[lx-1][ly]+prc[lx][ly-1]-prc[lx-1][ly-1]+met[lx][ly]; int max=0; for(int cx1=1;cx1<=n;cx1++) for(int cx2=cx1;cx2<=n;cx2++) for(int cy1=1;cy1<=n;cy1++) for(int cy2=cy1;cy2<=n;cy2++) if(max<=prc[cx2][cy2]-prc[cx2][cy1-1]-prc[cx1-1][cy2]+prc[cx1-1][cy1-1]) max=prc[cx2][cy2]-prc[cx2][cy1-1]-prc[cx1-1][cy2]+prc[cx1-1][cy1-1]; printf("%d\n",max); } return 0; }
沒有留言:
張貼留言