Advertisement
Guest User

Untitled

a guest
May 8th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int MX = 60;
  6. long long p2[MX];
  7. string bad = "IMPOSSIBLE", good = "POSSIBLE";
  8.  
  9. void solve(int z)
  10. {
  11. cout << "Case #" << z << ": ";
  12. int n;
  13. long long m;
  14. cin >> n >> m;
  15. if (m > p2[n - 2])
  16. {
  17. cout << bad << '\n';
  18. }
  19. else
  20. {
  21. cout << good << '\n';
  22. bool g[MX][MX];
  23. memset(g, false, sizeof(g));
  24. for (int i = 1; i <= n; i++)
  25. {
  26. for (int j = i + 1; j <= n; j++)
  27. {
  28. g[i][j] = true;
  29. }
  30. }
  31.  
  32. long long cur = p2[n - 2];
  33. int to_rem = 2;
  34.  
  35. for (int i = n - 3; i >= 0; i--)
  36. {
  37. if (cur - p2[i] >= m)
  38. {
  39. cur -= p2[i];
  40. g[1][to_rem] = false;
  41. }
  42. to_rem++;
  43. }
  44.  
  45. for (int i = 1; i <= n; i++)
  46. {
  47. for (int j = 1; j <= n; j++)
  48. {
  49. cout << g[i][j];
  50. }
  51. cout << '\n';
  52. }
  53. }
  54. }
  55.  
  56. int main()
  57. {
  58. long long cp = 1;
  59. for (int i = 0; i < MX; i++)
  60. {
  61. p2[i] = cp;
  62. cp *= 2;
  63. }
  64. freopen("B-large.in", "r", stdin);
  65. freopen("out.txt", "w", stdout);
  66. int t;
  67. cin >> t;
  68. for (int i = 1; i <= t; i++)
  69. {
  70. solve(i);
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement