记录编号 446002 评测结果 AAAAAAAAAA
题目名称 凯伦和游戏 最终得分 100
用户昵称 GravatarFisher. 是否通过 通过
代码语言 C++ 运行时间 0.016 s
提交时间 2017-09-07 13:48:26 内存使用 0.36 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
inline int read(){
	int x=0,f=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();}
	return x*f;
}
const int maxn=110;
int n,m;
int data[maxn][maxn];
int ch[maxn];
int cs[maxn];
int sum;
inline void heng(){
	for(int i=1;i<=n;i++){ch[i]=0x3f3f3f3f;}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			data[i][j]=read();
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			ch[i]=min(ch[i],data[i][j]);
		}
		if(ch[i])sum+=ch[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			int cao=data[i][j]-ch[i];
			if(i>=2){if(cao!=cs[j]){puts("-1");return;}}
			cs[j]=cao;
		}
	}
	for(int i=1;i<=m;i++)if(cs[i])sum+=cs[i];
	printf("%d\n",sum);
	for(int i=1;i<=n;i++){
		while(ch[i]){
			printf("row %d\n",i);
			ch[i]--;
		}
	}
	for(int i=1;i<=m;i++){
		while(cs[i]){
			printf("col %d\n",i);
			cs[i]--;
		}
	}
}
inline void shu(){
	for(int i=1;i<=m;i++){cs[i]=0x3f3f3f3f;}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			data[i][j]=read();
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cs[j]=min(cs[j],data[i][j]);
		}
	}
	for(int i=1;i<=m;i++)if(cs[i])sum+=cs[i];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			int cao=data[i][j]-cs[j];
			if(j>=2){if(cao!=ch[i]){puts("-1");return ;}}
			ch[i]=cao;
		}
	}
	for(int i=1;i<=n;i++)if(ch[i])sum+=ch[i];
	printf("%d\n",sum);
	for(int i=1;i<=n;i++){
		while(ch[i]){
			printf("row %d\n",i);
			ch[i]--;
		}
	}
	for(int i=1;i<=m;i++){
		while(cs[i]){
			printf("col %d\n",i);
			cs[i]--;
		}
	}
}
int main(){
	freopen("games.in","r",stdin);
	freopen("games.out","w",stdout);
	n=read();m=read();
	if(m>=n)heng();
	else shu();
	return 0;
}