记录编号 |
444989 |
评测结果 |
AAAAAAAAAA |
题目名称 |
凯伦和游戏 |
最终得分 |
100 |
用户昵称 |
WHZ0325 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.019 s |
提交时间 |
2017-09-04 20:26:19 |
内存使用 |
0.30 MiB |
显示代码纯文本
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> row,col;
int main() {
freopen("games.in","r",stdin);
freopen("games.out","w",stdout);
int n,m;
scanf("%d%d",&n,&m);
int arr[100][100];
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
scanf("%d",&arr[i][j]);
}
}
if(n>m) {
for(int j=0;j<m;j++) {
int mn=999;
for(int i=0;i<n;i++) {
mn=min(mn,arr[i][j]);
}
for(int i=0;i<n;i++) {
arr[i][j]-=mn;
}
for(int i=0;i<mn;i++) {
col.push_back(j+1);
}
}
for(int i=0;i<n;i++) {
int mn=999;
for(int j=0;j<m;j++) {
mn=min(mn,arr[i][j]);
}
for(int j=0;j<m;j++) {
arr[i][j]-=mn;
}
for(int j=0;j<mn;j++) {
row.push_back(i+1);
}
}
}
else {
for(int i=0;i<n;i++) {
int mn=999;
for(int j=0;j<m;j++) {
mn=min(mn,arr[i][j]);
}
for(int j=0;j<m;j++) {
arr[i][j]-=mn;
}
for(int j=0;j<mn;j++) {
row.push_back(i+1);
}
}
for(int j=0;j<m;j++) {
int mn=999;
for(int i=0;i<n;i++) {
mn=min(mn,arr[i][j]);
}
for(int i=0;i<n;i++) {
arr[i][j]-=mn;
}
for(int i=0;i<mn;i++) {
col.push_back(j+1);
}
}
}
int ok=true;
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
if(arr[i][j]!=0) {
ok=false;
}
}
}
if(ok) {
printf("%d\n",row.size()+col.size());
for(unsigned int i=0;i<row.size();i++) {
printf("row %d\n",row[i]);
}
for(unsigned int i=0;i<col.size();i++) {
printf("col %d\n",col[i]);
}
}
else {
printf("-1\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}