Advertisement
Kaidul

10252

Apr 9th, 2014
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.81 KB | None | 0 0
  1. /****************************************************
  2.  * Author      : Kaidul Islam
  3.  * University  : Khulna University of Engr. and Tech.
  4. *****************************************************/
  5. #include <bits/stdc++.h>
  6. using namespace std;
  7. #define rep(i, n) for(__typeof(n) i = 0; i < (n); i++)
  8. #define rep1(i, n) for(__typeof(n) i = 1; i <= (n); i++)
  9. #define FOR(i, a, b) for(__typeof(b) i = (a); i <= (b); i++)
  10. #define forstl(i, s) for (__typeof ((s).end ()) i = (s).begin (); i != (s).end (); ++i)
  11. #define INF (1 << 30)
  12. #define PI acos(-1.0)
  13. #define pb push_back
  14. #define ppb pop_back
  15. #define all(x) x.begin(), x.end()
  16. #define mem(x, y) memset(x, y, sizeof x)
  17. #define eps 1e-9
  18. #define pii pair<int, int>
  19. #define couple make_pair
  20. #define X first
  21. #define Y second
  22. #define vi vector<int>
  23. #define vpii vector< pii >
  24. #define si set<int>
  25. #define SDi(x) sf("%d", &x)
  26. #define SD2(x, y) sf("%d %d", &x, &y)
  27. #define SD3(x, y, z) sf("%d %d %d", &x, &y, &z)
  28. #define SDs(x) sf("%s", x)
  29. #define pf printf
  30. #define print(x) pf("%d ", x)
  31. #define println(x) pf("%d\n", x)
  32. #define newLine pf("\n")
  33. #define sf scanf
  34. #define READ(f) freopen(f, "r", stdin)
  35. #define WRITE(f) freopen(f, "w", stdout)
  36. #if ( _WIN32 or __WIN32__ )
  37.     #define LLD "%I64d"
  38. #else
  39.     #define LLD "%lld"
  40. #endif
  41. #define SDl(x) sf(LLD, &x)
  42. #define MAX6 1000000
  43. #define MAX7 10000000
  44. #define MAX9 1000000000
  45. #define MOD7 (MAX7 + 7)
  46. #define MOD9 (MAX9 + 9)
  47. typedef long long i64;
  48. typedef unsigned long long ui64;
  49. const i64 INF64 = (i64)1E18;
  50.  
  51. string toString(int num) {
  52.     ostringstream convert;
  53.     convert << num;
  54.     return convert.str();
  55. }
  56.  
  57. // BitMask
  58. int Set(int N, int pos) {
  59.     return N = N | (1 << pos);
  60. }
  61. int Reset(int N, int pos) {
  62.     return N = N & ~(1 << pos);
  63. }
  64. int Check(int N, int pos) {
  65.     return (N & (1 << pos));
  66. }
  67. int toggle(int N, int pos) {
  68.     if( Check(N, pos) )
  69.         return N = Reset(N, pos);
  70.     return N = Set(N, pos);
  71. }
  72.  
  73. // direction array
  74. //int dx[] = {0, -1, 0, 1};
  75. //int dy[] = {-1, 0, 1, 0};
  76. //int Dx[] = {0, -1, -1, -1, 0, 1, 1, 1};
  77. //int Dy[] = {-1, -1, 0, 1, 1, 1, 0, -1};
  78. //int row, col;
  79. //bool isValid(int i, int j) {
  80. //    return i >= 0 and j >= 0 and i < row and j < col;
  81. //}
  82.  
  83. /** Implementation **/
  84.  
  85. int main() {
  86.     string a, b, ans;
  87.     map <int ,int> mA, mB;
  88.     int lenA, lenB, len;
  89.     while(getline (cin, a)) {
  90.         getline (cin, b);
  91.         lenA = a.size(), lenB = b.size();
  92.         mA = map <int ,int> ();
  93.         mB = map <int ,int> ();
  94.         for(int i = 0; i < lenA; ++i) ++mA[a[i] - 'a'];
  95.         for(int i = 0; i < lenB; ++i) ++mB[b[i] - 'a'];
  96.         ans = "";
  97.         for(int i = 0; i < 26; ++i) {
  98.             len = min(mA[i], mB[i]);
  99.             for(int j = 0; j < len; ++j) ans += i + 'a';
  100.         }
  101.         pf("%s\n", ans.c_str());
  102.     }
  103.  
  104.     return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement