Advertisement
he_obviously

Untitled

Nov 10th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. /*
  2. #pragma GCC optimize("Ofast")
  3. #pragma GCC optimize("O3")
  4. #pragma GCC target("sse,sse2,ssse3,sse4,popcnt,tune=native")
  5. #pragma GCC optimize("unroll-loops")
  6. */
  7.  
  8. #include <iostream>
  9. #include <cmath>
  10. #include <vector>
  11. #include <limits.h>
  12. #include <map>
  13. #include <unordered_map>
  14. #include <set>
  15. #include <unordered_set>
  16. #include <string>
  17. #include <algorithm>
  18. #include <iomanip>
  19. #include <random>
  20. #include <string>
  21. #include <time.h>
  22. #include <bitset>
  23. #include <queue>
  24. #include <deque>
  25. #include <numeric>
  26. #include <fstream>
  27.  
  28. using namespace std;
  29.  
  30. typedef long long ll;
  31. typedef unsigned long long ull;
  32. typedef long double ld;
  33.  
  34. #define sz(x) (int)x.size()
  35. #define all(x) (x).begin(),(x).end()
  36.  
  37. const ll MOD = 1000 * 1000 * 1000 + 7;
  38. const ld EPS = 1e-8;
  39.  
  40. int main() {
  41.  
  42.     ios_base::sync_with_stdio(0);
  43.     cin.tie(0); cout.tie(0);
  44.  
  45.     int n, k;
  46.     cin >> n >> k;
  47.  
  48.     if (n == 1) {
  49.         cout << 0;
  50.         return 0;
  51.     }
  52.  
  53.     n = (int)((ld)(n) * 1.2 + EPS);
  54.  
  55.     vector<vector<int>> g(n, vector<int>(n, 0));
  56.  
  57.     int m = 0;
  58.  
  59.     //nk = 2m
  60.     //m = nk/2
  61.     //k = 2m/n
  62.  
  63.     int i = 0, j = 1;
  64.  
  65.     while (2 * m < n * k) {
  66.         m += 1;
  67.         g[i][j] = 1;
  68.         g[j][i] = 1;
  69.         if (j == n - 1) {
  70.             i += 1;
  71.             j = i + 1;
  72.         }
  73.         else {
  74.             j += 1;
  75.         }
  76.     }
  77.  
  78.     cout << n << "\n";
  79.  
  80.     for (int i = 0; i < n; ++i) {
  81.         for (int j = 0; j < n; ++j) {
  82.             cout << g[i][j] << " ";
  83.         }
  84.         cout << "\n";
  85.     }
  86.  
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement