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;
	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