結果

問題 No.438 Cwwプログラミング入門
ユーザー conf
提出日時 2016-10-29 00:38:10
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 2,238 bytes
コンパイル時間 772 ms
コンパイル使用メモリ 63,696 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-24 22:37:02
合計ジャッジ時間 4,170 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 94 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <cstdio>

using namespace std;

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;
}

char S[10010];

int main(){
    int64_t X,Y,Z,x,y;
    cin>>X>>Y>>Z;
    if(X&&Y&&Z){
        for(x=-5000;x<=5000;x++){
            if((Z-x*X)%Y) continue;
            y=(Z-x*X)/Y;
            if(2*abs(x)+2*abs(y)-1<=10000) break;
        }
        if(x==5001){
            cout<<"mourennaihasimasenn"<<endl;
            return 0;
        }
    }else{
        if(!Z){
            x=y=0;
        }
        if(!X&&!Y){
            cout<<"mourennaihasimasenn"<<endl;
            return 0;
        }
        if(!X&&Y){
            if(Z%Y){
                cout<<"mourennaihasimasenn"<<endl;
                return 0;
            }else{
                x=0; y=Z/Y;
            }
        }
        if(X&&!Y){
            if(Z%X){
                cout<<"mourennaihasimasenn"<<endl;
                return 0;
            }else{
                x=Z/X; y=0;
            }
        }
    }
    if(x<0){
        x=-x;
        int p=0;
        for(int i=0;i<x&&p<10000;i++) S[p++]='c';
        for(int i=0;i<y&&p<10000;i++) S[p++]='w';
        for(int i=0;i<y-1&&p<10000;i++) S[p++]='C';
        for(int i=0;i<x&&p<10000;i++) S[p++]='W';
        if(p==10000){
            cout<<"mourennaihasimasenn"<<endl;
        }else{
            printf("%s\n",S);
        }
    }else if(y<0){
        y=-y;
        int p=0;
        for(int i=0;i<y&&p<10000;i++) S[p++]='w';
        for(int i=0;i<x&&p<10000;i++) S[p++]='c';
        for(int i=0;i<x-1&&p<10000;i++) S[p++]='C';
        for(int i=0;i<y&&p<10000;i++) S[p++]='W';
        if(p==10000){
            cout<<"mourennaihasimasenn"<<endl;
        }else{
            printf("%s\n",S);
        }
    }else{
        int p=0;
        for(int i=0;i<x&&p<10000;i++) S[p++]='c';
        for(int i=0;i<y&&p<10000;i++) S[p++]='w';
        for(int i=0;i<x+y-1&&p<10000;i++) S[p++]='C';
        if(p==10000){
            cout<<"mourennaihasimasenn"<<endl;
        }else{
            printf("%s\n",S);
        }
    }

    return 0;
}
0