結果

問題 No.438 Cwwプログラミング入門
ユーザー beet
提出日時 2016-10-28 23:15:44
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 943 bytes
コンパイル時間 1,134 ms
コンパイル使用メモリ 161,288 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-24 19:40:35
合計ジャッジ時間 8,484 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 62 WA * 32 RE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
string mks(int a,int b){
  int i;string s;
  if(a>0) s="c",a--;
  else s="w",b--;
  for(i=0;i<abs(a);i++){
    if(a<0) s+="cW";
    else s+="cC";
  }
  for(i=0;i<abs(b);i++){
    if(b<0) s+="wW";
    else s+="wC";
  }
  return s;
}
int main(){
  int x,y,z;
  cin>>x>>y>>z;
  int i,j,k;
  string s;
  bool f=true;
  k=__gcd(x,y);
  if(z%k!=0) f=false;
  if(max(x,y)*5000<z) f=false;
  if(f){
    for(i=0;i<=5000;i++){
      if((z-i*x)%y) continue;
      j=(z-i*x)/y;
      if(i+abs(j)<=5000){
	s=mks(i,j);
	if(s.size()==0||s.size()>10000) continue;
	goto label;
      }
    }
    for(i=0;i<=5000;i++){
      if((z-i*y)%x) continue;
      j=(z-i*y)/x;
      if(i+abs(j)<=5000){
	s=mks(j,i);
	if(s.size()==0||s.size()>10000) continue;
	goto label;
      }
    }
  }
 label:
  //cout << s << endl;
  if(s.size()==0||s.size()>10000) f=false;
  cout << (f?s:"mourennaihasimasenn") << endl;
  return 0;
}
0