Pagini recente » Cod sursa (job #782980) | Cod sursa (job #2109053) | Cod sursa (job #2061796) | Cod sursa (job #357770) | Cod sursa (job #1160481)
#include <cstdio>
using namespace std;
struct point{
int x,y,z;
};
point v[50*50+5];
bool cmp(point a,point b){
if(a.x==b.x) return a.y<b.y;
return a.x<b.x;
}
bool solve(point aux,point auy,int n){
point a,b;
a.x=auy.x+aux.y-auy.y;
a.y=auy.y+auy.x-aux.x;
b.x=aux.x+aux.y-auy.y;
b.y=aux.y+auy.x-aux.x;
if(a.z!=aux.z||b.z!=aux.z)
return 0;
return 1;
}
int main(){
int n,i,j,m,x,sol=0;
scanf("%d",&n);
m=0;
for(i=n;i>=1;--i){
for(j=1;j<=n;++j){
scanf("%d",&x);
++m;
v[m].x=i;
v[m].y=j;
v[m].z=x;
}
}
for(i=1;i<m;++i){
for(j=i+1;j<=m;++j){
if(v[i].z==v[j].z)
sol+=solve(v[i],v[j],m);
}
}
printf("%d\n",sol/2);
return 0;
}