結果

問題 No.438 Cwwプログラミング入門
ユーザー 10_oh_fu
提出日時 2016-10-29 00:17:41
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 2,147 bytes
コンパイル時間 700 ms
コンパイル使用メモリ 88,724 KB
実行使用メモリ 814,416 KB
最終ジャッジ日時 2024-11-24 22:26:25
合計ジャッジ時間 10,663 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 82 WA * 14 RE * 1 MLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring> 
#include <sstream>
#include <algorithm>
#include <cstdlib>
#include <map>
#include <queue>
#include <utility>
#include <vector>
#include <set>
#include <memory.h>
#include <iomanip>
#include <bitset>
#include <list>
#include <stack>
 
using namespace std;

#define mod 1000000007

string solve(int x, int y, int z)
{
    if(y == 0){
        if(z % x == 0){
            string first(z / x, 'c');
            string second(z / x - 1, 'C');
            if((first + second).length() <= 10000) return first + second;
        }
        return "";
    }
    for(int xnum = 2; xnum < 10000; xnum++){
        if(abs(z - x * xnum) % y != 0) continue;
        int ynum = (z - x * xnum) / y;
        if(ynum == 0){
            string first(xnum, 'c');
            string second(xnum - 1, 'C');
            if((first + second).length() > 10000) continue;
            return (first + second);
        }
        int tmpy = abs(ynum);
        string first(tmpy, 'w');
        string second(xnum, 'c');
        string third(xnum - 1, 'C');
        string fourth;
        if(ynum < 0){
            string tmp(-ynum, 'W');
            fourth = tmp;
        } else {
            string tmp(ynum, 'C');
            fourth = tmp;
        }
        string ans = first + second + third + fourth;
        if(ans.length() > 10000) continue;
        return ans;
    }
    return "";
}

int main()
{
    int x, y, z;
    cin >> x >> y >> z;
    if(x + y == z){
        cout << "cwC" << endl;
        return 0;
    } else if(x - y == z){
        cout << "wcW" << endl;
        return 0;
    } else if(y - x == z){
        cout << "cwW" << endl;
        return 0;
    } else if(x == z){
        cout << "c" << endl;
        return 0;
    } else if(y == z){
        cout << "w" << endl;
        return 0;
    } else if(z == 0){
        cout << "mourennaihasimasenn" << endl;
        return 0;
    }
    string ans = "mourennaihasimasenn";
    string tmp1 = solve(x, y, z), tmp2 = solve(y, x, z);
    if(tmp1 != "") ans = tmp1;
    else if(tmp2 != "") ans = tmp2;
    cout << ans << endl;
    return 0;
}
0