結果
問題 | No.438 Cwwプログラミング入門 |
ユーザー |
![]() |
提出日時 | 2017-06-10 04:33:55 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,871 bytes |
コンパイル時間 | 503 ms |
コンパイル使用メモリ | 60,804 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-22 23:02:42 |
合計ジャッジ時間 | 63,318 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 WA * 48 |
ソースコード
#include<iostream> #include<string> #include<cmath> using namespace std; int main(){ long long x,y,z; long long xc,yc,xc1,xc2,yc1,yc2; long long zz,zz1,zz2; long long tzz,txc,tyc; long long ccc=0; string ans; cin>>x>>y>>z; while(ccc<=20000){ zz1=(ccc-10000)*y; xc1=0,yc1=ccc-10000; for(int i=0;i<30000;i++){ if(zz1==z) break; else if(zz1>z){ zz1-=y; yc1--; } else{ zz1+=x; xc1++; } } zz2=(ccc-10000)*x; xc2=ccc-10000,yc2=0; for(int i=0;i<30000;i++){ if(zz2==z) break; else if(zz2>z){ zz2-=x; xc2--; } else{ zz2+=y; yc2++; } } if(zz1!=z){ zz=zz2; yc=yc2; xc=xc2; } else if(zz2!=z){ zz=zz1; yc=yc1; xc=xc1; } else if(abs(xc1)+abs(yc1)<abs(xc2)+abs(yc2)){ zz=zz1; yc=yc1; xc=xc1; } else{ zz=zz2; yc=yc2; xc=xc2; } if(ccc==0){ tzz=zz; tyc=yc; txc=xc; }else{ long long azz,ayc,axc; if(zz!=z){ azz=tzz; ayc=tyc; axc=txc; } else if(tzz!=z){ azz=zz; ayc=yc; axc=xc; } else if(abs(txc)+abs(tyc)<abs(xc)+abs(yc)){ azz=tzz; ayc=tyc; axc=txc; } else{ azz=zz; ayc=yc; axc=xc; } tzz=azz; tyc=ayc; txc=axc; } ccc++; } tzz=zz; tyc=yc; txc=xc; if(zz!=z) printf("NO\n"); else{ ans=""; if(xc<0){ for(int i=0;i<xc;i++){ ans+="c"; } for(int i=0;i<xc-1;i++){ ans+="C"; } } if(yc<0){ for(int i=0;i<yc;i++){ ans+="w"; } for(int i=0;i<yc-1;i++){ ans+="C"; } } if(xc>0){ for(int i=0;i<xc;i++){ ans+="c"; } for(int i=0;i<xc-1;i++){ ans+="C"; } } if(yc>0){ for(int i=0;i<yc;i++){ ans+="w"; } for(int i=0;i<yc-1;i++){ ans+="C"; } } if(xc<0||yc<0) ans+="W"; else ans+="C"; if(ans.size()<=10000) cout<<ans<<endl; else cout<<"NO"<<endl; } }