結果

問題 No.438 Cwwプログラミング入門
ユーザー chakkuchakku
提出日時 2016-12-21 22:03:45
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 2,400 bytes
コンパイル時間 2,219 ms
コンパイル使用メモリ 180,296 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-12-14 14:01:40
合計ジャッジ時間 7,215 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 89 WA * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i=0;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define INF 1<<29
#define LINF LLONG_MAX/3
#define MP make_pair
#define PB push_back
#define EB emplace_back
#define ALL(v) (v).begin(),(v).end()
#define all(v) ALL(v)
#define debug(x) cerr<<#x<<":"<<x<<endl
#define debug2(x,y) cerr<<#x<<","<<#y":"<<x<<","<<y<<endl
template<typename T> ostream& operator<<(ostream& os,const vector<T>& vec){ os << "["; for(const auto& v : vec){ os << v << ","; } os << "]"; return os; }
template<typename T,typename U> ostream& operator<<(ostream& os,const pair<T,U>& p){ os << "(" << p.first << ","<< p.second <<")"; return os; }
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
ll gcd(ll a,ll b){ if(b==0) return a; else return gcd(b,a%b); }

constexpr ll mod = 1e9+7;
const int dx[]={1,0,-1,0} ,dy[] = {0,1,0,-1};

#define NO cout<<"NO"<<endl

ll x,y,z;

ll maxsize=1e5;
using p3 = tuple<ll,ll,ll>;

int main(){
    cin>>x>>y>>z;
    string ans;
    vector<p3> vp;

    for(int i=0;i<maxsize;i++){
        if(y==0) break;
        ll xs = x*i;
        ll rem = z-xs;
        if(rem%y==0){
            ll t = i+abs(rem/y);
            t = t + (t-1);
            if(t>maxsize) continue;
            vp.push_back(p3(i+abs(rem/y),i,rem/y));
        }
    }
    for(int i=0;i<maxsize;i++){
        if(x==0) break;
        ll ys = y*i;
        ll rem = z-ys;
        if(rem%x==0){
            ll t = i+abs(rem/x);
            t = t + t -1;
            if(t>maxsize) continue;
            vp.push_back(p3(i+abs(rem/x),rem/x,i));
        }
    }
    if(vp.empty()){
        NO;
        return 0;
    }
    sort(all(vp));
    ll a = get<1>(vp[0]);
    ll b = get<2>(vp[0]);
    if(a>=0 and b>=0){
        rep(i,a) ans.push_back('c');
        rep(i,b) ans.push_back('w');
        rep(i,a+b-1) ans.push_back('C');
    }else if(a<0){
        rep(i,abs(a))  ans.push_back('c');
        rep(i,b) ans.push_back('w');
        rep(i,b-1) ans.push_back('C');
        rep(i,abs(a)) ans.push_back('W');
    }else if(b<0){
        rep(i,abs(b)) ans.push_back('w');
        rep(i,a) ans.push_back('c');
        rep(i,a-1) ans.push_back('C');
        rep(i,abs(b)) ans.push_back('W');
    }else{
        NO;
        return 0;
//        assert(false);
    }
    cout << ans << endl;
}
0