| |
cnnb.MyForum.ro Forum de discutii, info CNNB |
|
|
|
|
|
 |
10/01/2008 08:20 |
 |
Autor |
Mesaj |
Rugina Sorin Alexandru Junior

Data inscrierii: 02/Oct/2007 Mesaje: 6 Localitate: Braila
|
| Titlul subiectului: Problema "Ariciul" (rezolvare) |
|
|
15.142
#include<iostream.h>
b[100][100];
void main ()
{int a[100][100],i,j,m,n,max,x,y;
cout<<"n=";cin>>n;
cout<<"m=";cin>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
cin>>a[i][j];
for (i=0;i<=n+1;i++)
for (j=0;j<=m+1;j++)
{b[0][j]=0;
b[n+1][j]=0;}
for (i=0;i<=n+1;i++)
for (j=0;j<=m+1;j++)
{b[i][0]=0;
b[i][m+1]=0;}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (b[i-1][j]>b[i][j-1])
b[i][j]=a[i][j]+b[i-1][j];
else
b[i][j]=a[i][j]+b[i][j-1];
max=-1;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (max<b[i][j])
{max=b[i][j];x=i;y=j;}
cout<<max<<endl;
while (x!=1&&y!=1) // Un posibil drum //
if (b[x-1][y]>b[x][y-1])
{max=max-a[x][y];
x--;
cout<<"J";}
else
{max=max-a[x][y];
y--;
cout<<"D";}
} |
|
| |
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
|
|
|
|
|
|
|
Powered by phpBB © 2001, 2002 phpBB Group Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|