比赛 |
树立信心的模拟赛 |
评测结果 |
AAAWWWAWAW |
题目名称 |
凯伦和游戏 |
最终得分 |
50 |
用户昵称 |
サイタマ |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
0.40 MiB |
提交时间 |
2017-09-01 21:59:58 |
显示代码纯文本
#include<fstream>
#include<algorithm>
#include<string>
using namespace std;
ifstream cin("games.in");
ofstream cout("games.out");
int n,m,i,j,g[101][101],g1[101][101],r[101],r1[101],c[101],c1[101],l=0,l1=0,is_a=0,shu[501],shu1[501];
string str[501],str1[501];
int main()
{
cin>>n>>m;
for(i=1;i<=100;i++)r[i]=c[i]=999;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>g[i][j];
g1[i][j]=g[i][j];
r[i]=min(r[i],g[i][j]);
r1[i]=r[i];
c[j]=min(c[j],g[i][j]);
c1[j]=c1[j];
}
for(i=1;i<=n;i++)
{
if(r[i]>0)
{
for(int k=1;k<=m;k++)
{
g[i][k]-=r[i];
if(g[i][k]==0)
c[k]=0;
}
str[++l]="row ";
shu[l]=i;
}
}
for(j=1;j<=m;j++)
{
if(c[j]>0)
{
for(int k=1;k<=n;k++)
{
g[k][j]-=c[j];
}
str[++l]="col ";
shu[l]=j;
}
}
for(j=1;j<=m;j++)
{
for(int k=1;k<=n;k++)
{
g1[k][j]-=c1[j];
if(g1[k][j]==0)
r1[k]=0;
}
str1[++l1]="col ";
shu1[l1]=j;
}
/*for(i=1;i<=n;i++)
{
if(r1[i]>0)
{
for(int k=1;k<=m;k++)
{
g1[i][k]-=r1[i];
}
str1[++l1]="row ";
shu1[l1]=i;
}
}*/
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(g[i][j]>0)
{
is_a=1;
break;
}
}
if(is_a==1)
break;
}
if(is_a==1)cout<<"-1"<<endl;
if(is_a==0)
{
if(l<=l1)
{
cout<<l<<endl;
for(i=1;i<=l;i++)
cout<<str[i]<<shu[i]<<endl;
}
if(l1<l)
{
cout<<l1<<endl;
for(i=1;i<=l1;i++)
cout<<str1[i]<<shu1[i]<<endl;
}
}
cin.close();
cout.close();
return 0;
}