prestige

Untitled

Dec 7th, 2013
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. #include <algorithm>
  2. #include <bitset>
  3. #include <cassert>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstdlib>
  7. #include <cstring>
  8. #include <iostream>
  9. #include <list>
  10. #include <map>
  11. #include <queue>
  12. #include <set>
  13. #include <string>
  14. #include <sstream>
  15. #include <vector>
  16. #include <complex>
  17. #include <ctime>
  18. #include <stack>
  19.  
  20. using namespace std;
  21.  
  22. typedef long long ll;
  23. typedef unsigned long long ull;
  24. typedef vector<int> VI;
  25. typedef vector< VI > VVI;
  26. typedef pair<int, int> PII;
  27. typedef vector<PII> VPII;
  28.  
  29. #define REP(i, n) for(int i = 0; i < (n); ++i)
  30. #define RREP(i, n) for(int i = (n) - 1; i >= 0; --i)
  31. #define FOR(i, x, y) for(int i = (x); i <= (y); ++i)
  32. #define RFOR(i, x, y) for(int i = (x); i >= (y); --i)
  33. #define SZ(a) (int)(a).size()
  34. #define ALL(a) (a).begin(),(a).end()
  35. #define SORT(a) sort(ALL(a))
  36. #define CLEAR(x) memset(x, 0, sizeof x);
  37. #define COPY(FROM, TO) memcpy(TO, FROM, sizeof TO);
  38. #define UNIQUE(c) SORT(c),(c).resize(unique(ALL(c))-(c).begin())
  39. #define pb push_back
  40. #define mk make_pair
  41. #define sqr(x) ((x)*(x))
  42. #define X first
  43. #define Y second
  44. const long double PI = acos(-1.0);
  45. const double EPS = 1E-9;
  46. const int inf = (1e+9);
  47. const int NMAX = 1e+4;
  48. const int MOD = 1743;
  49.  
  50. ll t, n;
  51. int main () {
  52. cin >> t;
  53. while (t--) {
  54. string s;
  55. ll maxx = 1ll;
  56. cin >> s >> n;
  57. ll p = SZ(s);
  58. ll cc = 0;
  59. while (maxx < n) {
  60. maxx *= p;
  61. cc++;
  62. if (maxx < n)
  63. n -= maxx;
  64. }
  65. maxx /= p;
  66. VI dig (cc);
  67. cc = 0;
  68. while (n >= 0 && maxx) {
  69. dig[cc++] = n / maxx;
  70. n -= (n / maxx) * maxx;
  71. maxx /= p;
  72. }
  73. REP (i, SZ(dig)) {
  74. if (i == SZ(dig) - 1 && dig[i])
  75. dig[i]--;
  76. cout << s[dig[i]];
  77. }
  78. cout << endl;
  79. }
  80. }
  81. /*
  82. 5
  83. EHT 34
  84. ABCEFKO 4296473
  85. ACEHKMPRTU 4125383079316
  86. CDEGHIKLOSUWY 8333092520403744490
  87. ADEFHNOPSUVY 3365973428406169086
  88. 1
  89. ADEFHNOPSUVY 3365973428406169086
  90. ANDHOPESYOUHAVEFUN
  91. */
Advertisement
Add Comment
Please, Sign In to add comment