結果
問題 | No.2112 All 2x2 are Equal |
ユーザー |
![]() |
提出日時 | 2022-10-28 23:07:39 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 94 ms / 2,000 ms |
コード長 | 2,568 bytes |
コンパイル時間 | 2,513 ms |
コンパイル使用メモリ | 219,712 KB |
最終ジャッジ日時 | 2025-02-08 14:57:52 |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
ソースコード
#pragma GCC optimize("O3")#include <bits/stdc++.h>using namespace std;using ll = long long;using P = pair<ll, ll>;template <class T>using V = vector<T>;#define fi first#define se second#define all(v) (v).begin(), (v).end()const ll inf = (1e18);// const ll mod=998244353;const ll mod = 1000000007;const vector<int> dy = {-1, 0, 1, 0}, dx = {0, -1, 0, 1};ll GCD(ll a, ll b) { return b ? GCD(b, a % b) : a; }ll LCM(ll c, ll d) { return c / GCD(c, d) * d; }struct __INIT {__INIT() {cin.tie(0);ios::sync_with_stdio(false);cout << fixed << setprecision(20);}} __init;template <class T>bool chmax(T &a, const T &b) {if (a < b) {a = b;return 1;}return 0;}template <class T>bool chmin(T &a, const T &b) {if (a > b) {a = b;return 1;}return 0;}template <class T>void debag(const vector<T> &a) {cerr << "debag :";for (auto v : a) cerr << v << " ";cerr << "\n";}template <class T>void print(const vector<T> &a) {for (auto v : a) cout << v << " ";cout << "\n";}vector<bool> prime;void make(int num) {prime.resize(num, true);prime[0] = false;for (int i = 0; i * i < num; i++) {if (prime[i]) {for (int j = 2; (i + 1) * j <= num; j++) {prime[(i + 1) * j - 1] = false;}}}}int main() {int h, n;cin >> h >> n;V<int> d;for (int i = 1; i <= h * n; i++) {d.emplace_back(i);}int id1 = 0, id2 = h * n - 1;cout << "Yes"<< "\n";for (int i = 0; i < h; i++) {if (i % 2 == 0) {int sz1 = (n + 1) / 2;int sz2 = n / 2;V<int> aa, bb;for (int j = 0; j < sz1; j++) {aa.emplace_back(d[id1++]);}for (int j = 0; j < sz2; j++) {bb.emplace_back(d[id2--]);}for (int j = 0; j < n; j++) {if (j % 2 == 0) {cout << aa[j / 2];} else {cout << bb[j / 2];}if (j == n - 1)cout << "\n";elsecout << " ";}} else {int sz1 = n / 2;int sz2 = (n + 1) / 2;V<int> aa, bb;for (int j = 0; j < sz1; j++) {aa.emplace_back(d[id1++]);}for (int j = 0; j < sz2; j++) {bb.emplace_back(d[id2--]);}// reverse(all(aa));// reverse(all(bb));for (int j = 0; j < n; j++) {if (j % 2 == 0) {cout << bb[j / 2];} else {cout << aa[j / 2];}if (j == n - 1)cout << "\n";elsecout << " ";}}}}