結果
| 問題 |
No.2247 01 ZigZag
|
| コンテスト | |
| ユーザー |
tnakao0123
|
| 提出日時 | 2023-05-18 14:42:46 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,297 bytes |
| コンパイル時間 | 632 ms |
| コンパイル使用メモリ | 64,744 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-16 05:31:14 |
| 合計ジャッジ時間 | 2,110 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 44 WA * 6 |
ソースコード
/* -*- coding: utf-8 -*-
*
* 2247.cc: No.2247 01 ZigZag - yukicoder
*/
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
/* constant */
/* typedef */
typedef pair<int,int>pii;
typedef vector<int> vi;
typedef vector<pii> vpii;
/* global variables */
/* subroutines */
string ps2s(vpii &ps) {
string s;
for (auto &p: ps) {
int ch = '0' + p.first;
for (int j = 0; j < p.second; j++) s += ch;
}
return s;
}
string calc(int d0, int d1, int n0, int n1, int k) {
int ds[2] = { d0, d1 }, ns[2] = { n0, n1 };
vpii ps;
for (int i = 0; i <= k; i++) {
int p = i & 1;
ps.push_back({ds[p], 1});
ns[p]--;
}
if (ns[0] < 0 || ns[1] < 0) return "2";
int i0 = 0, i1 = ps.size() - 1;
if (ps[i0].first != 0) i0++;
if (ps[i1].first != 1) i1--;
ps[i0].second += ns[0];
ps[i1].second += ns[1];
return ps2s(ps);
}
/* main */
int main() {
int n, m, k;
scanf("%d%d%d", &n, &m, &k);
if (k == 0) {
if (n > 0 && m > 0) { puts("-1"); return 0; }
vpii ps({{0, n}, {1, m}});
string s = ps2s(ps);
puts(s.c_str());
return 0;
}
string s0 = calc(0, 1, n, m, k);
string s1 = calc(1, 0, m, n, k);
string s = min(s0, s1);
if (s[0] >= '2') puts("-1");
else puts(s.c_str());
return 0;
}
tnakao0123