Advertisement
fuadnafiz98

Untitled

Mar 10th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<vector>
  4. #include<queue>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. int i,j,test=0,garbage,x;
  10. FILE *fp=fopen("output.txt","w");
  11. while(scanf("%d",&garbage)!=EOF)
  12. {
  13. vector<int>vv[25];
  14. for(j=0;j<garbage;j++)
  15. {
  16. scanf("%d",&x);
  17. vv[1].push_back(x);
  18. vv[x].push_back(1);
  19. }
  20. for(i=2;i<20;i++)
  21. {
  22. scanf("%d",&j);
  23. for(int jj=0;jj<j;jj++)
  24. {
  25. scanf("%d",&x);
  26. vv[i].push_back(x);
  27. vv[x].push_back(i);
  28. }
  29. }
  30. test++;
  31. int t,start,End;
  32. scanf("%d",&t);
  33. //printf("Test Set #%d\n",test);
  34. fprintf(fp,"Test Set #%d\n",test);
  35. while(t--)
  36. {
  37. scanf("%d %d",&start,&End);
  38. bool check[25];
  39. for(i=0;i<25;i++) check[i]=false;
  40. int level[25];
  41. queue<int>qq;
  42. qq.push(start);
  43. level[start]=0;
  44. check[start]=true;
  45. while(!qq.empty())
  46. {
  47. x=qq.front();
  48. qq.pop();
  49. for(i=0;i<vv[x].size();i++)
  50. {
  51. if(!check[vv[x][i]]){
  52. qq.push(vv[x][i]);
  53. check[vv[x][i]]=true;
  54. level[vv[x][i]]=level[x]+1;
  55. }
  56. }
  57. }
  58. //printf("%d to %d: %d\n",start,End,level[End]);
  59. fprintf(fp,"%d to %d: %d\n",start,End,level[End]);
  60. }
  61. fprintf(fp,"\n");
  62. }
  63. fclose(fp);
  64. re
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement