結果
問題 |
No.250 atetubouのzetubou
|
ユーザー |
![]() |
提出日時 | 2015-07-25 00:19:52 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,250 bytes |
コンパイル時間 | 3,488 ms |
コンパイル使用メモリ | 75,848 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-16 03:16:19 |
合計ジャッジ時間 | 1,724 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 1 WA * 19 |
ソースコード
#include <iostream> #include <algorithm> #include <functional> #include <string> #include <climits> #include <vector> #include <numeric> #include <complex> #include <map> #include <bitset> using namespace std; #define __int64 long long #define long __int64 #define REP(i,a,b) for(int i=a;i<b;i++) #define rep(i,n) REP(i,0,n) const int Vecy[4] = {0,-1,0,1}; const int Vecx[4] = {1,0,-1,0}; int func(long a, int &ue){ int result = 0; long save; save = a; while(a > 0){ a /= 10; save = a; result ++; } ue = save; return result; } int main(){ int q; int d,x; long t; int maxd; double tester; int adjust = 0; int max_ad; int ue; cin >> q; rep(i,q){ cin >> d >> x >> t; max_ad = func(t, ue); d --; //(d + x - 1)! <= d! * (x-1)! * t : ok maxd = max(d,x); //maxの方を無効化 int j; tester = 1; for(j = d + x; j>maxd; j--){ tester *= j; tester /= (j - maxd); while(true){ if(adjust < max_ad && tester >= 10){ tester /= 10; adjust ++; }else{ break; } } //cout << tester << endl; if(max_ad < adjust || (max_ad == adjust && tester > ue)){ break; } } if(j == maxd){ cout << "AC" << endl; }else{ cout << "ZETUBOU" << endl; } } return 0; }