记录编号 444133 评测结果 AAAAAAAAAA
题目名称 凯伦和游戏 最终得分 100
用户昵称 GravatarOstmbh 是否通过 通过
代码语言 C++ 运行时间 0.034 s
提交时间 2017-09-02 10:10:40 内存使用 0.36 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
using namespace std;
int A[110][110];
int ans[110],Ans[110];
int main(){
	freopen("games.in","r",stdin);
	freopen("games.out","w",stdout);
	int n,m;
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			scanf("%d",&A[i][j]);
	if(n<=m){
		for(int i=1;i<=n;i++){
			int minn=0x7fffffff;
			for(int j=1;j<=m;j++)
				minn=min(minn,A[i][j]);
			for(int j=1;j<=m;j++)
				A[i][j]-=minn;
			ans[i]=minn;
		}
		for(int i=1;i<=m;i++){
			int minn=0x7fffffff;
			for(int j=1;j<=n;j++)
				minn=min(minn,A[j][i]);
			for(int j=1;j<=n;j++)
				A[j][i]-=minn;
			Ans[i]=minn;
		}
	}
	else {
		for(int i=1;i<=m;i++){
			int minn=0x7fffffff;
			for(int j=1;j<=n;j++)
				minn=min(minn,A[j][i]);
			for(int j=1;j<=n;j++)
				A[j][i]-=minn;
			Ans[i]=minn;
		}
		for(int i=1;i<=n;i++){
			int minn=0x7fffffff;
			for(int j=1;j<=m;j++)
				minn=min(minn,A[i][j]);
			for(int j=1;j<=m;j++)
				A[i][j]-=minn;
			ans[i]=minn;
		}
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(A[i][j]){
				puts("-1");
				return 0;
			}
	int dl=0;
	for(int i=1;i<=n;i++)
		dl+=ans[i];
	for(int i=1;i<=m;i++)
		dl+=Ans[i];
	printf("%d\n",dl);
	if(n<=m){
		for(int i=1;i<=n;i++)
			for(int j=1;j<=ans[i];j++)
				printf("row %d\n",i);
		for(int i=1;i<=m;i++)
			for(int j=1;j<=Ans[i];j++)
				printf("col %d\n",i);
	}
	else {
		for(int i=1;i<=m;i++)
			for(int j=1;j<=Ans[i];j++)
				printf("col %d\n",i);
		for(int i=1;i<=n;i++)
			for(int j=1;j<=ans[i];j++)
				printf("row %d\n",i);
	}
return 0;
}