結果

問題 No.438 Cwwプログラミング入門
ユーザー hiyokko2hiyokko2
提出日時 2016-10-29 19:59:56
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,885 bytes
コンパイル時間 1,373 ms
コンパイル使用メモリ 160,852 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-27 22:16:14
合計ジャッジ時間 4,591 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 98
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;i++)
#define int long long
using namespace std;
typedef long long ll;

int x, y, z;

/*
int extgcd(int a, int b, int& x, int& y) {
	int d = a;
	if (b != 0) {
		d = extgcd(b, a % b, y, x);
		y -= (a / b) * x;
	} else {
		x = 1; y = 0;
	}
	return d;
}
*/

signed main()
{
	cin >> x >> y >> z;

	if (x == 0 && y == 0 && z == 0) {
		cout << "ccW" << endl;
		return 0;
	}

	if (x == 0 && y == 0 && z != 0) {
		cout << "mourennaihasimasenn" << endl;
		return 0;
	}

	if (y == 0) {
		if (z % x == 0 && z / x * 2 - 1 <= 10000) {
			int cnt = z / x;
			rep(i,cnt) cout << 'c';
			rep(i,cnt-1) cout << 'C';
			cout << endl;
			return 0;
		} else {
			cout << "mourennaihasimasenn" << endl;
			return 0;
		}
	}

	if (x == 0) {
		if (z % y == 0 && z / y * 2 - 1 <= 10000) {
			int cnt = z / y;
			rep(i,cnt) cout << 'w';
			rep(i,cnt-1) cout << 'C';
			cout << endl;
			return 0;
		} else {
			cout << "mourennaihasimasenn" << endl;
			return 0;
		}
	}

	for (int a=-5000; a<=5000; a++) {
		if ((z - a * x) % y == 0) {
			int b = (z - a * x) / y;
			if (2 * abs(a) + 2 * abs(b) - 1 <= 10000) {
				//printf("a = %lld, b = %lld\n", a, b);
				if (a == 0 && b == 0)
				{
					cout << "ccW" << endl;
					return 0;
				} else if (a * b < 0) {
					if (a < 0) {
						rep(i,-a) cout << 'c';
						rep(i,-a-1) cout << 'C';
						rep(i,b) cout << 'w';
						rep(i,b-1) cout << 'C';
						cout << 'W' << endl;
						return 0;
					} else if (b < 0) {
						rep(i,-b) cout << 'w';
						rep(i,-b-1) cout << 'C';
						rep(i,a) cout << 'c';
						rep(i,a-1) cout << 'C';
						cout << 'W' << endl;
						return 0;
					}
				} else {
					rep(i,a) cout << 'c';
					rep(i,a-1) cout << 'C';
					rep(i,b) cout << 'w';
					rep(i,b-1) cout << 'C';
					cout << 'C' << endl;
					return 0;
				}
			}
		}
	}

	cout << "mourennaihasimasenn" << endl;
}
0