Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int n, m;
- bitset<30> X[30], Y[30];
- bitset<30> get(bitset<30> a, int l, int r) {
- bitset<30> b; b.set();
- return (a >> l) & (b >> (30 - r + l - 1));
- }
- int main() {
- // freopen("in", "r", stdin);
- cin >> n >> m;
- for (int i = 1; i <= n; i++)
- for (int j = 1; j <= m; j++) {
- int t; cin >> t;
- X[i][j] = t;
- Y[j][i] = X[i][j];
- }
- int x0, y0, r;
- cin >> x0 >> y0 >> r;
- int x1 = x0 + r - 1;
- int y1 = y0 + r - 1;
- bitset<30> a = get(X[x0], y0, y1);
- bitset<30> b = get(X[x1], y0, y1);
- bitset<30> c = get(Y[y0], x0, x1);
- bitset<30> d = get(Y[y1], x0, x1);
- cout << a.to_string().substr(30 - r, r) << '\n';
- cout << b.to_string().substr(30 - r, r) << '\n';
- cout << c.to_string().substr(30 - r, r) << '\n';
- cout << d.to_string().substr(30 - r, r) << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement