| 比赛 | 
    20120417 | 
    评测结果 | 
    WWWWTTTWTW | 
    | 题目名称 | 
    矩阵 | 
    最终得分 | 
    0 | 
    | 用户昵称 | 
    Citron酱 | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2012-04-17 10:23:24 | 
显示代码纯文本
#include <cstdio>
#include <set>
#define I_F "matrixa.in"
#define O_F "matrixa.out"
const int Maxn=1000;
int m,n;
int s[Maxn][Maxn];
int ans[Maxn][Maxn];
void Input();
void Search();
void Output();
int main()
{
	freopen(I_F,"r",stdin);
	freopen(O_F,"w",stdout);
	while (scanf("%d%d",&m,&n)!=EOF)
	{
		Input();
		Search();
		Output();
	}
	return 0;
}
void Input()
{
	for (int i=0; i<m; i++)
		for (int j=0; j<n; scanf("%d",&s[i][j++]));
}
void Search()
{
	std::set<int> a,b;
	a.clear();
	for (int i=0; i<m; i++)
	{
		a.insert(s[i][0]);
		b.clear();
		b=a;
		for (int j=0; j<n; j++)
		{
			if (j>0)
				for (int k=0; k<=i; k++)
					b.insert(s[k][j]);
			ans[i][j]=b.size();
		}
	}
}
void Output()
{
	for (int i=0; i<m; i++)
	{
		for (int j=0; j<n-1; printf("%d ",ans[i][j++]));
		printf("%d\n",s[i][n-1]);
	}
}