結果
問題 | No.478 一般門松列列 |
ユーザー |
![]() |
提出日時 | 2018-12-22 00:18:36 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 1,164 bytes |
コンパイル時間 | 849 ms |
コンパイル使用メモリ | 93,692 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-25 09:47:43 |
合計ジャッジ時間 | 2,436 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
ソースコード
#include <iostream> #include <string> #include <vector> #include <set> #include <cmath> #include <algorithm> #include <iomanip> #include <queue> using ll = long long; using namespace std; int main(void) { int N, K; cin >> N >> K; if (K == N - 2) { for (int i = 1; i <= N; ++i) { if (i != 1) cout << " "; cout << i; } cout << endl; } else { int t = N - K - 2; vector<int> v; v.push_back(1); v.push_back(3); for (int i = 0; i < N - 2; ++i) { if (t == 0) break; if (i % 4 == 0) v.push_back(2); else if (i % 4 == 1) v.push_back(4); else if (i % 4 == 2) v.push_back(1); else v.push_back(3); t--; } int n = v.size(); while (v.size() != N) { v.push_back(v[n - 1]); } for (int i = 0; i < N; ++i) { if (i) cout << " "; cout << v[i]; } } return 0; }