Pagini recente » Cod sursa (job #1297228) | Cod sursa (job #2288848) | Cod sursa (job #2875680) | Cod sursa (job #762646) | Cod sursa (job #781257)
Cod sursa(job #781257)
#include<fstream>
using namespace std;
int i,j,mat[501][501],k,n,m,v[]={0,2,4,8,16,32,64,128,256},p[100][4],q,a,b,mini,l,iu,id,s;
ifstream f("piese.in");
ofstream g("piese.out");
int main()
{
f>>n>>m;
i=8;
a=n;
b=m;
while(i>0)
{
if(v[i]<=a)
{
k=a/v[i];
a=a-k*v[i];
}
if(v[i]<=b)
{
q=b/v[i];
b=b-q*v[i];
}
p[i][1]=q*k;
p[i][2]=q;
p[i][3]=k;
i--;
q=0;
k=0;
}
p[0][1]=m*n;
for(i=1;i<=10;i++)
{
p[0][1]=p[0][1]-(p[i][1]*v[i]*v[i]);
}
for(i=0;i<=10;i++)
mini=mini+p[i][1];
g<<mini<<"\n";
s=9;
for(i=10;i>=1;i--)
{
iu=1;
id=1;
if(p[i][2]>p[i][3])
{
for(l=1;l<=p[i][1];l++)
{
for(j=iu;j<=v[i];j++)
{
for(q=id;q<=v[i]+id-1;q++)
mat[j][q]=mini;
}
id=q;
mini--;
}
}
else
{
for(l=1;l<=p[i][1];l++)
{
for(j=iu;j<=v[i]+iu-1;j++)
{
for(q=id;q<=v[i];q++)
mat[j][q]=mini;
}
iu=j;
mini--;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(mat[i][j]==0)
{
mat[i][j]=mini;
mini--;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
g<<mat[i][j]<<" ";
g<<"\n";
}
return 0;
}