結果
| 問題 |
No.438 Cwwプログラミング入門
|
| コンテスト | |
| ユーザー |
Yazaten
|
| 提出日時 | 2016-10-29 00:30:04 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,984 bytes |
| コンパイル時間 | 1,672 ms |
| コンパイル使用メモリ | 160,580 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-24 22:34:49 |
| 合計ジャッジ時間 | 7,773 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 77 WA * 21 |
ソースコード
#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a) (a).begin(),(a).end()
#define pb push_back
#define INF (1LL<<59)
string bio = "mourennaihasimasenn";
int f(int x){
if(x>0)return 2*x-1;
else if(x==0)return 0;
else return 2*abs(x)+3;
}
void g(char ch,int x){
if(x>0){
rep(i,x)cout<<ch;
rep(i,x-1)cout<<'C';
}else if(x==0)return ;
else{
rep(i,abs(x)+2)cout<<ch;
rep(i,abs(x)+1)cout<<'W';
}
}
int main(){
int a,b,c;
cin>>a>>b>>c;
if(c==0){
cout<<"ccW"<<endl;
return 0;
}
else if(a==0&&b==0){
cout<<bio<<endl;
return 0;
}
else if(a==0){
if(c%b==0){
int num = c/b;
if(2*num-1>10000){
cout<<bio<<endl;
return 0;
}
rep(i,num)cout<<'w';
rep(i,num-1)cout<<'C';
cout<<endl;
}
else cout<<bio<<endl;
return 0;
}
else if(b==0){
if(c%a==0){
int num = c/a;
if(2*num-1>10000){
cout<<bio<<endl;
return 0;
}
rep(i,num)cout<<'c';
rep(i,num-1)cout<<'C';
cout<<endl;
}
else cout<<bio<<endl;
return 0;
}
if(c%__gcd(a,b)!=0){
cout<<bio<<endl;
return 0;
}
ll mini = INF;
int yd,xd;
int l = a/__gcd(a,b)*b;
for(int x=-l;a*x<=c;x++){
int df = c-a*x;
if(abs(df)%b!=0)continue;
int y = df/b;
int sum =f(x)+f(y);
if(x&&y)sum++;
if(mini>sum){
mini = sum;
xd = x;
yd = y;
}
}
if(mini>10000)cout<<bio<<endl;
else{
g('c',xd);
g('w',yd);
if(xd&&yd)cout<<'C'<<endl;
else cout<<endl;
}
}
Yazaten