Pagini recente » Cod sursa (job #1655951) | Cod sursa (job #3183787) | Cod sursa (job #718375) | Cod sursa (job #1199731) | Cod sursa (job #1100359)
#include<stdio.h>
FILE *f=fopen("patrate.in","r"), *g=fopen("patrate.out","w");
long int n, i, j, a[105][105], x1, y1, x2, y2, x3, y3, x4, y4, nr=0, A, B;
void proba(){
if( 1<=x3 && x3<=n && 1<=y3 && y3<=n && 1<=x4 && x4<=n && 1<=y4 && y4<=n
&& !(x1==x2 && y1==y2) && !(x1==x3 && y1==y3) && !(x1==x4 && y1==y4)
&& !(x2==x3 && y2==y3) && !(x2==x4 && y2==y4) && !(x3==x4 && y3==y4)
){
if( a[x1][y1]==a[x2][y2] && a[x2][y2]==a[x3][y3] && a[x3][y3]==a[x4][y4] ){nr++;
//fprintf(g,"%ld %ld %ld %ld\n",4*(x1-1)+y1,4*(x2-1)+y2,4*(x3-1)+y3,4*(x4-1)+y4);
}
}
}
int main(){
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
fscanf(f,"%ld",&a[i][j]);
}
}
for(x1=1;x1<=n;x1++){
for(y1=1;y1<=n;y1++){
for(x2=1;x2<=n;x2++){
for(y2=1;y2<=n;y2++){
if( x2>x1 || (x1==x2 && y2>y1) ){
A=x1-x2; B=y1-y2;
y3=y2-A; x3=x2+B;
y4=y1-A; x4=x1+B;
proba();
y3=y2+A; x3=x2-B;
y4=y1+A; x4=x1-B;
proba();
}
}
}
}
}
fprintf(g,"%ld\n",nr/4);
return 0;
}