#include<stdio.h> #include<stdlib.h> int main() { int n,m,**p,**q,i,j,k,sum = 0,r = 0,l = 0,min,t = 0,s = 0; scanf("%d %d",&n,&m); p = (int**)malloc(sizeof(int)*n); q = (int**)malloc(sizeof(int)*n); for( i = 0; i < n; i++ ) { p[i] = (int*)malloc(sizeof(int)*m); q[i] = (int*)malloc(sizeof(int)*m); } for (i = 0;i < n;i++) { for (j = 0;j < m;j++) { scanf("%d",&p[i][j]); } } min = p[0][0]; for (k = 0;k < n*m;k++) { for (i = 0;i < n;i++) { for (j = 0;j < m;j++) { if (p[i][j] < min) { min = p[i][j]; t = i; s = j; } } } if (l == m) { r++; l = 0; } q[r][l++] = min; p[t][s] = 10000; min = 10000; } l = 0; r = 0; for (k = 1;k <= n*m;k++) { if (l == m) { r++; l = 0; } if (q[r][l++] == k) sum++; else break; } printf("%d",sum-1); // free(p); // free(q); return 0; } |
Double click to view unformatted code.