int a[1000000][3];
int b[1000000][3];
int main()
{
int m,n,c;
scanf("%d%d%d",&m,&n,&c);
int i,j,q,col,p;
for(i=0;i<c;i++)
{
scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
}
if(c>0)
{
q=0;
for(col=0;col<n;col++)
for(p=0;p<c;p++)
{
if(a[p][1]==col)
{
b[q][0]=a[p][1];
b[q][1]=a[p][0];
b[q][2]=a[p][2];
q++;
}
}
}
for(i=0;i<c;i++)
{
printf("%d %d %d\n",b[i][0],b[i][1],b[i][2]);
}
}
使用二维数组存储三元组,转化即将每一个元素的行列转化,转化较易,但转化后保持一定的顺序就有些复杂。
这种方法中,我们遍历a中的c个元素,a的列即为