結果
問題 | No.438 Cwwプログラミング入門 |
ユーザー |
![]() |
提出日時 | 2016-10-28 23:56:51 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 2,268 bytes |
コンパイル時間 | 884 ms |
コンパイル使用メモリ | 79,168 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 21:48:10 |
合計ジャッジ時間 | 3,962 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 98 |
ソースコード
#include<iostream>#include<vector>#include<string>#include<cstring>#include<algorithm>#include<map>#include<set>using namespace std;typedef long long ll;bool solve(ll x, ll y, ll z, char c1, char c2, char C1, char C2) {for (int i = 0; i < 6000; ++i) {ll tmp = i*x;if (tmp > z) {ll rest = tmp-z;if (rest%y == 0) {ll j = rest/y;if (2*i+2*j-1 <= 10000) {string ans;for (int k = 0; k < j; ++k)ans += c2;for (int k = 0; k < i; ++k)ans += c1;for (int k = 0; k < i-1; ++k)ans += C1;for (int k = 0; k < j; ++k)ans += C2;cout << ans << endl;return true;}}} else if (tmp == z && i != 0) {string ans;if (2*i-1 <= 10000) {for (int k = 0; k < i; ++k)ans += c1;for (int k = 0; k < i-1; ++k)ans += C1;cout << ans << endl;return true;}} else {ll rest = z-tmp;if (rest%y == 0) {ll j = rest/y;if (2*i+2*j-1 <= 10000) {string ans;for (int k = 0; k < j; ++k)ans += c2;for (int k = 0; k < i; ++k)ans += c1;for (int k = 0; k < i+j-1; ++k)ans += C1;cout << ans << endl;return true;}}}}return false;}int main() {const string no = "mourennaihasimasenn";ll x, y, z;cin >> x >> y >> z;if (x*y == 0) {if (x == 0) {if (y == 0) {if (z == 0) cout << "w" << endl;else cout << no << endl;} else {if (z%y == 0) {ll num = z/y;if (2*num-1 <= 10000) {string ans;for (int i = 0; i < num; ++i)ans += 'w';for (int i = 0; i < num-1; ++i)ans += 'C';cout << ans << endl;} else cout << no << endl;} else {cout << no << endl;}}} else {if (z%x == 0) {ll num = z/x;if (2*num-1 <= 10000) {string ans;for (int i = 0; i < num; ++i)ans += 'c';for (int i = 0; i < num-1; ++i)ans += 'C';cout << ans << endl;} else cout << no << endl;} else {cout << no << endl;}}return 0;}if (z == 0) {cout << "wwW" << endl;return 0;}if (solve(x, y, z, 'c', 'w', 'C', 'W')) return 0;if (solve(y, x, z, 'w', 'c', 'C', 'W')) return 0;cout << no << endl;return 0;}