1 #include<stdio.h>
 2 typedef struct{
 3     int x,y;
 4     int c;
 5 }item;
 6 typedef struct{
 7     item element[100];
 8     int n;
 9 }Poly;
10 void Create(Poly*A)
11 {
12     int m,t=0,e;
13     A->n=0;
14     scanf("%d",&m);
15     for(int i=0;i<m;i++)
16     for(int j=0;j<m;j++)
17     {
18         scanf("%d",&e);
19         if(e)
20         {
21             A->element[t].x=i;
22             A->element[t].y=j;
23             A->element[t].c=e;
24             A->n++;
25             t++;
26         }
27     }
28 }
29 void Change(Poly*A)//冒泡排序 
30 {
31     item e;
32     for(int t=1;t<A->n;t++)
33     for(int i=0;i<A->n-1;i++)
34     {
35         if(A->element[i].x+A->element[i].y>A->element[i+1].x+A->element[i+1].y)
36         {
37             e=A->element[i];
38             A->element[i]=A->element[i+1];
39             A->element[i+1]=e;
40         }
41     }
42 }
43 void Order(Poly*A)
44 {
45     for(int t=A->n-1;t>=0;t--)
46     printf("%d xE%d yE%d\n",A->element[t].c,A->element[t].x,A->element[t].y);
47 }
48 int main()
49 {
50     Poly A;
51     Create(&A);
52     Change(&A);
53     Order(&A);
54     return 0;
55     
56 }