Помогите пожалуйста. Кефа — map-маньяк

Revision ru2, by MacKenlly, 2015-12-11 16:12:33

Не давно я наткнулся на эту задачу И уже довольно долгое время ломаю голову, почему и где программка зацикливается. Я надеюсь, вы — как опытные гуру, сможете мне помочь...


#include <fstream> #include <string.h> #include<string> #include <iostream> #include <cstring> #include <algorithm> #include <map> #include<cstdio> #include<vector> #include <string> using namespace std; int cat[1000]={0}; bool color[5000]={0}; int a[5000][5000]={0},n,k,c=0; int dfs(int i) { bool f=true; color[i]=1; if (cat[i]<=k) {for (int j=1;j<=n;j++) { if (color[j]==0&&a[i][j]==1) { f=false;if (cat[j]!=0) cat[j]+=cat[i];dfs(j);}} if (f) c++;} return 0; } int main() { cin>>n>>k; for (int i=1; i<=n; i++) cin>>cat[i]; for (int j=1; j<n;j++) {int x,y; cin>>x>>y; a[x][y]=1;a[y][x]=1;} dfs(1); cout<<c; return 0; }

Заранее спасибо)

Tags графы, кефология, помощь

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru2 Russian MacKenlly 2015-12-11 16:12:33 22
ru1 Russian MacKenlly 2015-12-11 16:11:24 1026 Первая редакция (опубликовано)