Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <fstream>
  2. #include <cstring>
  3. #include <iostream>
  4.  
  5. int a[101][101];
  6. int n;
  7. int k;
  8. int m;
  9. int x;
  10. int y;
  11. int p;
  12. int v[1001];
  13.  
  14. std::ifstream in("veriflant.in");
  15. std::ofstream out("veriflant.out");
  16.  
  17. char str[1024 + 1];
  18.  
  19. void Transform(char *str, int *v, int & p)
  20. {
  21. p = 1;
  22.  
  23. char dev[1024 + 1];
  24. memset(dev, 0, 0);
  25. strcpy(dev, str);
  26. memset(str, 0, 0);
  27.  
  28. unsigned int i = 0;
  29.  
  30. while(i < strlen(dev))
  31. {
  32. v[p] = 0;
  33.  
  34. while(isdigit(dev[i]) && i < strlen(dev))
  35. {
  36. v[p] = v[p] * 10 + int(dev[i] - 48);
  37. i++;
  38. }
  39.  
  40. if(i != strlen(dev))
  41. p++;
  42.  
  43. if(!isdigit(dev[i]) && i < strlen(dev))
  44. i++;
  45. }
  46. }
  47.  
  48. bool Elementar(int *v, int p)
  49. {
  50. for(int i = 1; i < p; i++)
  51. {
  52. if(v[i] == v[i + 1])
  53. return false;
  54. }
  55.  
  56. return true;
  57. }
  58.  
  59. bool Lant(int *v, int p)
  60. {
  61. for(int i = 1; i < p; i++)
  62. {
  63. if(a[v[i]][v[i + 1]] == 0)
  64. return false;
  65. }
  66.  
  67. return true;
  68. }
  69.  
  70. int main()
  71. {
  72. in >> n >> m;
  73.  
  74. for(int i = 1; i <= m; i++)
  75. {
  76. in >> x >> y;
  77. a[x][y] = 1;
  78. a[y][x] = 1;
  79. }
  80.  
  81. in >> k;
  82.  
  83. in.get();
  84.  
  85. for(int i = 1; i <= k; i++)
  86. {
  87. in.getline(str, sizeof(str));
  88. Transform(str,v,p);
  89.  
  90. if(true == Lant(v,p))
  91. {
  92. if(true == Elementar(v,p))
  93. out << "ELEMENTAR\n";
  94. else out << "NEELEMENTAR\n";
  95.  
  96. }
  97. else out << "NU\n";
  98. }
  99.  
  100. in.close();
  101. out.close();
  102. return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement