Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- #include <iostream>
- int a[101][101];
- int n;
- int k;
- int m;
- int x;
- int y;
- int p;
- int v[1001];
- std::ifstream in("veriflant.in");
- std::ofstream out("veriflant.out");
- char str[1024 + 1];
- void Transform(char *str, int *v, int & p)
- {
- p = 1;
- char dev[1024 + 1];
- memset(dev, 0, 0);
- strcpy(dev, str);
- memset(str, 0, 0);
- unsigned int i = 0;
- while(i < strlen(dev))
- {
- v[p] = 0;
- while(isdigit(dev[i]) && i < strlen(dev))
- {
- v[p] = v[p] * 10 + int(dev[i] - 48);
- i++;
- }
- if(i != strlen(dev))
- p++;
- if(!isdigit(dev[i]) && i < strlen(dev))
- i++;
- }
- }
- bool Elementar(int *v, int p)
- {
- for(int i = 1; i < p; i++)
- {
- if(v[i] == v[i + 1])
- return false;
- }
- return true;
- }
- bool Lant(int *v, int p)
- {
- for(int i = 1; i < p; i++)
- {
- if(a[v[i]][v[i + 1]] == 0)
- return false;
- }
- return true;
- }
- int main()
- {
- in >> n >> m;
- for(int i = 1; i <= m; i++)
- {
- in >> x >> y;
- a[x][y] = 1;
- a[y][x] = 1;
- }
- in >> k;
- in.get();
- for(int i = 1; i <= k; i++)
- {
- in.getline(str, sizeof(str));
- Transform(str,v,p);
- if(true == Lant(v,p))
- {
- if(true == Elementar(v,p))
- out << "ELEMENTAR\n";
- else out << "NEELEMENTAR\n";
- }
- else out << "NU\n";
- }
- in.close();
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement