lina_os

Untitled

Nov 26th, 2025
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.19 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. using ll = long long;
  6. using ull = unsigned long long;
  7. using ld = long double;
  8. using vll = vector<ll>;
  9. using pll = pair<ll, ll>;
  10. using mll = map<ll,ll>;
  11. using sll = set<ll>;
  12. #define iv(v) for(auto &i:v) cin >> i
  13. #define ov(v) for(auto &i:v) cout << i << " "
  14. #define all(v) v.begin(), v.end()
  15. #define rall(v) v.rbegin(), v.rend()
  16. #define YES cout << "YES\n"
  17. #define NO  cout << "NO\n"
  18.  
  19. #define Bismillah ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  20.  
  21. const ll MOD = 1e9 + 7;
  22.  
  23. ll add(ll a, ll b) {return ((a % MOD) + (b % MOD)) % MOD;}
  24. ll mul(ll a, ll b) {return ((a % MOD) * (b % MOD)) % MOD;}
  25. ll sub(ll a, ll b) {return (((a - b) % MOD) + MOD) % MOD;}
  26. ll modExp(ll a, ll b) {
  27.     if (b <= 0) return 1;
  28.     ll ret = modExp(a * a % MOD, b / 2);
  29.     if (b % 2) ret = ret * a % MOD;
  30.     return ret;
  31. }
  32. ll inverse(ll b) {return modExp(b, MOD - 2);}
  33. ll divv(ll a, ll b) {return ((a % MOD) * (inverse(b) % MOD)) % MOD;}
  34.  
  35. /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  36.  
  37.  
  38. ll n;
  39. vector<vll>adj(n);
  40.  
  41. void dfs(ll v, ll p) {
  42.  
  43. }
  44. void solve() {
  45.     int m;
  46.     cin >> n >> m;
  47.     mll f;
  48.     for (int i=0; i<m; i++) {
  49.         ll u,v; cin >> u >> v; u--; v--;
  50. //        adj[u].push_back(v);
  51. //        adj[v].push_back(u);
  52.         f[u]++; f[v]++;
  53.     }
  54.     if (n==m) {
  55.         for (int i=0; i<n; i++) {
  56.             if (f[i]!=2) goto a;
  57.         }
  58.         cout << "ring topology" << endl; return;
  59.     }
  60.     a:
  61.     if (n==m+1) {
  62.         ll g=1;
  63.         for (int i=0;i<n; i++) {
  64.             if (f[i]!=1) {
  65.                 if (g&&f[i]==m) g--;
  66.                 else goto b;
  67.             }
  68.         }
  69.             cout << "star topology" << endl; return;
  70.         b:
  71.         g=2;
  72.         for (int i=0;i<n; i++) {
  73.             if (f[i]!=2) {
  74.                 if (g&&f[i]==1) g--;
  75.                 else goto b;
  76.             }
  77.         }
  78.             cout << "bus topology" << endl; return;
  79.  
  80.     }
  81.     cout << "unknown topology" << endl;
  82. }
  83.  
  84. int main() {
  85.     Bismillah
  86.     ll t=1;
  87. //    cin >> t;
  88.     while (t--) {
  89.         solve();
  90.     }
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment