比赛 树立信心的模拟赛 评测结果 AAAWWWAAAA
题目名称 凯伦和游戏 最终得分 70
用户昵称 Ceres 运行时间 0.327 s
代码语言 C++ 内存使用 0.39 MiB
提交时间 2017-09-01 20:54:43
显示代码纯文本
#include <fstream>
using namespace std;
ifstream ci("games.in");
ofstream co("games.out");
int n,m,g[101][101],k=0,now[101][101];
bool cyf=0;
int main()
{
	ci>>n>>m;
	if(m<n)
	{
		int mid;
		mid=m;
		m=n;
		n=mid;
		cyf=1;
	}
	for(int i=0;i<=n;i++)
		for(int j=0;j<=m;j++)
		{
			g[i][j]=0;
			now[i][j]=0;
		}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
		{
			ci>>g[i][j];
			if(g[i][j]<g[i][0] || !g[i][0])
				g[i][0]=g[i][j];
		}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
			now[i][j]=g[i][0];
		k+=g[i][0];
	}
	for(int j=1;j<=m;j++)
	{
		g[0][j]=g[1][j]-now[1][j];
		for(int i=1;i<=n;i++)
			now[i][j]+=g[0][j];
		k+=g[0][j];
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(now[i][j]!=g[i][j])
				k=-1;
	if(k==-1)
		co<<k<<endl;
	else
	{
		co<<k<<endl;
		for(int i=1;i<=n;i++)
			for(int j=1;j<=g[i][0];j++)
			{
				if(!cyf)
					co<<"row "<<i<<endl;
				else
					co<<"col "<<i<<endl;
			}
		for(int j=1;j<=m;j++)
			for(int i=1;i<=g[0][j];j++)
			{
				if(!cyf)
					co<<"col "<<j<<endl;
				else
					co<<"row "<<j<<endl;
			}
	}
	ci.close();
	co.close();
	return 0;
}