比赛 树立信心的模拟赛 评测结果 AAAAAAAAAA
题目名称 凯伦和游戏 最终得分 100
用户昵称 Lovelove_boii 运行时间 0.164 s
代码语言 C++ 内存使用 0.35 MiB
提交时间 2017-09-01 21:34:38
显示代码纯文本
//Lovelove_boii loves coding
#include<fstream>
using namespace std;
ifstream cin("games.in");
ofstream cout("games.out");
int n,m;
int map[101][101];
int row[101],col[101];
bool judge()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(map[i][j]!=0)
			{
				return false;
			}
		}
	}
	return true;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>map[i][j];
		}
	}
	if(n<=m)
	{
		for(int i=1;i<=n;i++)
		{
			int reduce=501;
			for(int j=1;j<=m;j++)
			{
				if(map[i][j]<reduce&&map[i][j]>=0)
				{
					reduce=map[i][j];
				}
			}
			for(int j=1;j<=m;j++)
			{
				map[i][j]-=reduce;
			}
			row[i]=reduce;
		}
		for(int i=1;i<=m;i++)
		{
			int reduce=501;
			for(int j=1;j<=n;j++)
			{
				if(map[j][i]<reduce&&map[j][i]>=0)
				{
					reduce=map[j][i];
				}
			}
			for(int j=1;j<=n;j++)
			{
				map[j][i]-=reduce;
			}
			col[i]=reduce;
		}
	}
	else
	{
		for(int i=1;i<=m;i++)
		{
			int reduce=501;
			for(int j=1;j<=n;j++)
			{
				if(map[j][i]<reduce&&map[j][i]>=0)
				{
					reduce=map[j][i];
				}
			}
			for(int j=1;j<=n;j++)
			{
				map[j][i]-=reduce;
			}
			col[i]=reduce;
		}
		for(int i=1;i<=n;i++)
		{
			int reduce=501;
			for(int j=1;j<=m;j++)
			{
				if(map[i][j]<reduce&&map[i][j]>=0)
				{
					reduce=map[i][j];
				}
			}
			for(int j=1;j<=m;j++)
			{
				map[i][j]-=reduce;
			}
			row[i]=reduce;
		}
	}
	if(!judge())
	{
		cout<<"-1";
	}
	else
	{
		int ans=0;
		for(int i=1;i<=n;i++)
		{
			ans+=row[i];
		}
		for(int i=1;i<=m;i++)
		{
			ans+=col[i];
		}
		cout<<ans<<endl;
		for(int i=1;i<=n;i++)
		{
			if(row[i]!=0)
			{
				for(int j=1;j<=row[i];j++)
				{
					cout<<"row"<<' '<<i<<endl;
				}
			}
		}
		for(int i=1;i<=m;i++)
		{
			if(col[i]!=0)
			{
				for(int j=1;j<=col[i];j++)
				{
					cout<<"col"<<' '<<i<<endl;
				}
			}
		}
	}
	cin.close();
	cout.close();
	return 0;
}