比赛 |
树立信心的模拟赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
凯伦和游戏 |
最终得分 |
100 |
用户昵称 |
烟雨 |
运行时间 |
0.204 s |
代码语言 |
C++ |
内存使用 |
0.35 MiB |
提交时间 |
2017-09-01 21:20:23 |
显示代码纯文本
#include<fstream>
using namespace std;
ifstream cin("games.in");
ofstream cout("games.out");
int s[102][102],a[102],b[102],n,m,t,ans=0;
int main()
{
for(int i=1;i<=100;i++)
{
a[i]=0;
b[i]=0;
}
cin>>m>>n;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)cin>>s[i][j];
}
if(m<=n)
{
for(int i=1;i<=m;i++)
{
int t=699;
for(int j=1;j<=n;j++)
{
if(s[i][j]<t)t=s[i][j];
}
if(t!=0)
{
for(int j=1;j<=n;j++)s[i][j]=s[i][j]-t;
}
a[i]=a[i]+t;
ans=ans+t;
}
for(int i=1;i<=n;i++)
{
t=699;
for(int j=1;j<=m;j++)
{
if(s[j][i]<t)t=s[j][i];
}
if(t!=0)
{
for(int j=1;j<=m;j++)s[j][i]=s[j][i]-t;
}
b[i]=b[i]+t;
ans=ans+t;
}
}
if(n<m)
{
for(int i=1;i<=n;i++)
{
t=699;
for(int j=1;j<=m;j++)
{
if(s[j][i]<t)t=s[j][i];
}
if(t!=0)
{
for(int j=1;j<=m;j++)s[j][i]=s[j][i]-t;
}
b[i]=b[i]+t;
ans=ans+t;
}
for(int i=1;i<=m;i++)
{
int t=699;
for(int j=1;j<=n;j++)
{
if(s[i][j]<t)t=s[i][j];
}
if(t!=0)
{
for(int j=1;j<=n;j++)s[i][j]=s[i][j]-t;
}
a[i]=a[i]+t;
ans=ans+t;
}
}
t=0;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
if(s[i][j]!=0)t=1;
}
}
if(t==1)cout<<"-1"<<endl;
if(t==0)
{
cout<<ans<<endl;
for(int i=1;i<=m;i++)
{
if(a[i]>0)
{
for(int j=1;j<=a[i];j++)cout<<"row"<<' '<<i<<endl;
}
}
for(int i=1;i<=n;i++)
{
if(b[i]>0)
{
for(int j=1;j<=b[i];j++)cout<<"col"<<' '<<i<<endl;
}
}
}
/* for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cout<<s[i][j]<<' ';
}
cout<<endl;
}*/
cin.close();
cout.close();
return 0;
}