#include #include #include #include #include #define abs(x) ((x>0)?(x):(-x)) #define max(a,b) (((a)>(b))?(a):(b)) #define min(a,b) (((a)<(b))?(a):(b)) #define NAME "triangle.in" /* !!!!!!!!!!!!!!!! */ int n,i,s,ca=0; int tab[300][300]; char c; int ar,d,bi,t,j,dis,k,h,bien; int mal[2],dis1,dis2; int main(void){ freopen(NAME,"rt",stdin); while(1){ ca++; scanf("%d",&n); if(!n) break; for(i=n;i>0;i--){ for(j=n-i;jdis1) continue; if(s==-1) if(k>dis2) continue; bien=1; for(h=0;h<2*k;h++){ if(tab[i+s*(h/2)][j-k+(h+1)/2]==0){ bien=0; } if(tab[i+s*(h/2)][j+k-(h+1)/2]==0){ bien=0; } } if(tab[i+s*k][j]==0){ bien=0; } t=k+1; t=t*t; if(bien) ar=max(ar,t); else{ mal[(k%2)]=1; if((mal[0])&&(mal[1])) break; } s=-s; } } } printf("Triangle #%d\n",ca); printf("The largest triangle area is %d.\n\n",ar); } return 0; }