Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1173 Color 4  (Citit de 1134 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
freak93
Echipa infoarena
Nu mai tace
*****

Karma: 342
Deconectat Deconectat

Mesaje: 819



Vezi Profilul
« : August 26, 2011, 20:32:34 »

Aici puteti discuta despre problema Color 4.

Multumim Ionut Bogdanescu. pentru adaugarea ei.
Memorat
mening12001
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #1 : Octombrie 17, 2011, 12:25:12 »

Cod:
#include<fstream>
#include<vector>
//|--|-| |-| |--|_| =
using namespace std;
vector<vector<long> > v(50000),vv(50000);
long k[50000];
long maxim=-2,gh=1;
void create(long x,long y)
{long i,size;
size=v[x].size();
for(i=size-1;i>=0;i--)  
if(v[x][i]!=y)
{vv[x].push_back(v[x][i]);
create(v[x][i],x);
v[x].pop_back();}
else
v[x].pop_back();}
long ccc[25];
void asdass(long x,long y)
{for(long i=0;i<vv[x].size();i++)
{ccc[vv[x][i]]=y;
asdass(vv[x][i],y);}}
void asdass1(long x)
{for(long i=0;i<vv[x].size();i++)
{k[ccc[vv[x][i]]]=k[ccc[vv[x][i]]]+1;
if(k[ccc[vv[x][i]]]>maxim)
{maxim=k[ccc[vv[x][i]]];
if(ccc[vv[x][i]]==0)
gh=1;
else
gh=ccc[vv[x][i]];}
asdass1(vv[x][i]);}}
int main()
{ifstream f("color4.in");
ofstream h("color4.out");
long n,m,c,x,y,i,j,a,b,cc;
f>>n>>m>>c;
for(i=1;i<n;i++)
{f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);}
create(1,1);
for(i=1;i<=m;i++)
{f>>cc;
if(cc==0)
{f>>a>>b;
ccc[a]=b;
asdass(a,b);}
else
{f>>a;
for(j=1;j<=c;j++)
k[j]=0;
maxim=-2;
k[ccc[a]]=1;
asdass1(a);
h<<gh<<" "<<maxim<<"\n";}}
return 0;}

ma poate ajuta cineva spunandu'mi de ce imi da killed by signal 11 ;excluzand primul test?
(nu cred ca acceseaza memorie in afara vectorului sau depaseste limita de memorie...sau?)

Editat de admin: Folosește tagurile "code" atunci cînd postezi surse.
« Ultima modificare: Octombrie 17, 2011, 15:41:00 de către Andrei Grigorean » Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #2 : Octombrie 17, 2011, 14:39:35 »

Ai putea pune inainte de cod bbtagurile code si /code (cu [] fiecare).

Cod:
long ccc[25]
Aici trebuie pus 50.005 Smile.

Editat de moderator: Nu posta de doua ori consecutiv.
« Ultima modificare: Octombrie 18, 2011, 23:26:40 de către Serban Andrei Stan » Memorat
mening12001
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #3 : Octombrie 19, 2011, 21:47:15 »

DA! iti multumesc
am luat 50 de pct deoarece mi'a iesit din timp, dar da...am accesat memorie nedeclarata SmileVery Happy
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines