栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1486 Color the Tree

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1486 Color the Tree

#include <stdio.h>#include <iostream>#include <string.h>#include <string>#include <limits.h>#include <algorithm>#include <math.h>#include <numeric>#include <functional>#include <ctype.h>#include <vector>#define MAX 60#define MAX_DIGIT 200using namespace std;vector<int> vec_array[MAX];int n,m;int multiply(int* a,int ca,int* b,int cb,int* c)  {    int i,j,* s;    s=(int*)malloc(sizeof(int)*(ca+cb));    for (i=0;i<ca+cb;i++)      s[i]=0;    for (i=0;i<ca;i++)      for (j=0;j<cb;j++)        s[i+j+1]+=(a[i])*(b[j]);   for (i=ca+cb-1;i>=0;i--)      if (s[i]>=10)      {        s[i-1]+=s[i]/10;        s[i]%=10;      }      i=0;      while (s[i]==0)        i++;     for (j=0;i<ca+cb;i++,j++)        c[j]=s[i];      free(s);      return j;}  bool in_degree[MAX],visit[MAX];void dfs(const int &x){visit[x]=true;for(int i=0;i<vec_array[x].size();++i)if(!visit[vec_array[x][i]]){in_degree[vec_array[x][i]]=true;dfs(vec_array[x][i]);}}int main(void){  int u,v;  while(~scanf("%d%d",&n,&m) && n+m)  {for(int i=1;i<=n;++i)vec_array[i].clear();for(int i=1;i<n;++i){scanf("%d%d",&u,&v);vec_array[u].push_back(v);vec_array[v].push_back(u);}memset(visit,false,sizeof(visit));memset(in_degree,false,sizeof(in_degree));for(int i=1;i<=n;++i)if(!visit[i])dfs(i);int a[MAX_DIGIT],b[MAX_DIGIT],c[MAX_DIGIT];int ca=0,cb=0,cc=0;int tmp=m;if(in_degree[1])--tmp;if(tmp>9){a[0]=tmp/10;a[1]=tmp%10;ca=2;}else{a[0]=tmp;ca=1;}memset(b,0,sizeof(b));memset(c,0,sizeof(c));for(int i=2;i<=n;++i){tmp=m;if(in_degree[i])--tmp;if(tmp>9){b[0]=tmp/10;b[1]=tmp%10;cb=2;}else{b[0]=tmp;cb=1;}cc=multiply(a,ca,b,cb,c);memcpy(a,c,sizeof(a));ca=cc;}    if(ca==0)      printf("0");    else  for(int i=0;i<ca;++i)  printf("%d",a[i]);printf("n");  }  return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号