Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #pragma GCC optimize("Ofast,no-stack-protector")
  6. #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  7. #pragma GCC optimize("unroll-loops")
  8.  
  9. /// Typedef
  10. typedef long long ll;
  11.  
  12. #define sc1(a) scanf("%lld",&a)
  13. #define sc2(a,b) scanf("%lld %lld",&a,&b)
  14.  
  15. #define pf1(a) printf("%lld\n",a)
  16. #define pf2(a,b) printf("%lld %lld\n",a,b)
  17.  
  18. #define mx 100007
  19. #define mod 100000007
  20. #define PI acos(-1.0)
  21.  
  22. #define size1 998244353
  23. #define pb push_back
  24.  
  25. ll save[100][100], big_cnt[100];
  26.  
  27. int main()
  28. {
  29.  
  30. ll m, tc, num, t = 1;
  31.  
  32. string arr;
  33.  
  34. for(ll i = 0; i < 5; i++){
  35. cin >> arr;
  36. if(arr[1] == '<'){
  37. save[arr[0] - 'A'][arr[2] - 'A']++;
  38. big_cnt[arr[2] - 'A']++;
  39. }
  40. else{
  41. save[arr[2] - 'A'][arr[0] - 'A']++;
  42. big_cnt[arr[0] - 'A']++;
  43. }
  44. }
  45.  
  46. queue <ll> qu;
  47. for(ll i = 0; i < 5; i++){
  48. if(!big_cnt[i]){
  49. //cout << i << endl;
  50. qu.push(i);
  51. }
  52. }
  53.  
  54. string ans = "";
  55. while (!qu.empty()){
  56.  
  57. ll now = qu.front();
  58. ans += (now + 'A');
  59. qu.pop();
  60.  
  61. for(ll i = 0; i < 5; i++){
  62. if(save[now][i] == 1){
  63. big_cnt[i]--;
  64. if(!big_cnt[i]){
  65. qu.push(i);
  66. }
  67. }
  68. }
  69. //cout << ans << endl;
  70. }
  71.  
  72. if(ans.size() == 5)
  73. cout << ans << endl;
  74. else
  75. cout << "impossible" << endl;
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement