View Code of Problem 17

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int n,m,p[100][100] = {0},q[100][100] = {0},i,j,k,sum = 0,r = 0,l = 0,min,t = 0,s = 0;
	while(scanf("%d %d",&n,&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);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 17