Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- #pragma GCC optimize("Ofast")
- #pragma GCC optimize("O3")
- #pragma GCC target("sse,sse2,ssse3,sse4,popcnt,tune=native")
- #pragma GCC optimize("unroll-loops")
- */
- #include <iostream>
- #include <cmath>
- #include <vector>
- #include <limits.h>
- #include <map>
- #include <unordered_map>
- #include <set>
- #include <unordered_set>
- #include <string>
- #include <algorithm>
- #include <iomanip>
- #include <random>
- #include <string>
- #include <time.h>
- #include <bitset>
- #include <queue>
- #include <deque>
- #include <numeric>
- #include <fstream>
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef long double ld;
- #define sz(x) (int)x.size()
- #define all(x) (x).begin(),(x).end()
- const ll MOD = 1000 * 1000 * 1000 + 7;
- const ld EPS = 1e-8;
- int main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0); cout.tie(0);
- int n, k;
- cin >> n >> k;
- if (n == 1) {
- cout << 0;
- return 0;
- }
- n = (int)((ld)(n) * 1.2 + EPS);
- vector<vector<int>> g(n, vector<int>(n, 0));
- int m = 0;
- //nk = 2m
- //m = nk/2
- //k = 2m/n
- int i = 0, j = 1;
- while (2 * m < n * k) {
- m += 1;
- g[i][j] = 1;
- g[j][i] = 1;
- if (j == n - 1) {
- i += 1;
- j = i + 1;
- }
- else {
- j += 1;
- }
- }
- cout << n << "\n";
- for (int i = 0; i < n; ++i) {
- for (int j = 0; j < n; ++j) {
- cout << g[i][j] << " ";
- }
- cout << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement