結果
問題 |
No.438 Cwwプログラミング入門
|
ユーザー |
|
提出日時 | 2016-10-28 23:59:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
OLE
|
実行時間 | - |
コード長 | 1,377 bytes |
コンパイル時間 | 837 ms |
コンパイル使用メモリ | 72,988 KB |
実行使用メモリ | 142,204 KB |
最終ジャッジ日時 | 2024-11-24 21:34:27 |
合計ジャッジ時間 | 160,618 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 44 WA * 20 TLE * 2 OLE * 32 |
ソースコード
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<vector> #include<string> #include<sstream> using namespace std; int gcd(int a,int b) { if(b==0)return a; else return gcd(b,a%b); } int main() { int x,y,z; cin>>x>>y>>z; if(z==0) { cout<<endl; return 0; } else if(x==0&&y==0) { cout<<"mourennaihasimasenn"<<endl; return 0; } else if(x==0) { if(z%y==0) { for(int i=0;i<z/y;i++)cout<<"w"; for(int i=0;i<z/y-1;i++)cout<<"C"; cout<<endl; return 0; } else { cout<<"mourennaihasimasenn"<<endl; return 0; } } else if(y==0) { if(z%x==0) { for(int i=0;i<z/x;i++)cout<<"c"; for(int i=0;i<z/x-1;i++)cout<<"C"; cout<<endl; return 0; } else { cout<<"mourennaihasimasenn"<<endl; return 0; } } int gcdxy=gcd(max(x,y),x+y-max(x,y)); if(gcdxy!=1) { int gcdgcdz=gcd(max(gcdxy,z),gcdxy+z-max(gcdxy,z)); if(gcdgcdz<gcdxy) { cout<<"mourennaihasimasenn"<<endl; return 0; } x/=gcdgcdz; y/=gcdgcdz; z/=gcdgcdz; } int n,m; stringstream s; for(m=1;;m++) { if((1-y*m)%x==0) { n=(1-y*m)/x; break; } } n=(-1)*n; for(int i=0;i<n;i++)s<<"c"; for(int i=n;i<n+m;i++)s<<"w"; for(int i=n+m;i<n+m+m-1;i++)s<<"C"; for(int i=n+m+m-1;i<n+m+m+n-1;i++)s<<"W"; for(int i=0;i<z;i++)cout<<s.str(); for(int i=0;i<z-1;i++)cout<<"C"; cout<<endl; return 0; }