きゅうりコーダーになった。
250 DigitHoles
1~1000の値が与えられる。数字の穴の数を数える。4は1コ穴が空いてるものとして扱う。1,2,3,5,7は0コ、0,4,6,9は1コ、8は2コ。
リーディング力の限界。それなりに速かったはず。
248.32 Pt.
#define rep(i,n) for(int i=0;i<n;i++) #define SS stringstream class DigitHoles { public: int numHoles(int number) { int table[] = {1,0,0,0,1,0,1,0,2,1}; int ret = 0; SS ss; ss << number; string s = ss.str(); rep(i,s.length()){ ret+=table[s[i]-'0']; } return ret; } };
500 getSeatings
与えられた人数の人が縦一列か横一列に並べるようなパターンは何個あるか。
順列とか学校でまだ習ってないから強引に書いた。そしたら落ちた。予習しとこうかな。
チャレンジ祭りたまげたなぁ。1,{"."}で落ちまくる。縦と横を別々に処理するせい。自分は本番で気づけなかったけど。
252Ptくらいの超低速Submit → Challenged 0.0Pt.
#define rep(i,n) for(int i=0;i<n;i++) int fa(int a){ int ret = 1; rep(i,a){ ret*=i+1; } return ret; } int ku(int a){ int ret = 0; rep(i,a){ ret+=i+1; } return ret; } class MovieSeating { public: long long getSeatings(int num, vector <string> h) { long long ret = 0; int n = h[0].length(); rep(i,h.size()){ int sum = 0; rep(j,n){ if(h[i][j]=='.')sum++; } if(sum>=num){ ret+=ku(sum-num+1); } } n = h.size(); rep(i,h[0].length()){ int sum = 0; rep(j,n){ if(h[j][i]=='.')sum++; } if(sum>=num){ ret+=ku(sum-num+1); } //cout << sum << endl; } return ret*fa(num); } };
1000 BestApproximationDiv2
与えられた小数に一番近い(先頭から見ていってどれだけ一致してるか)分数を返す。「C++」と「分母の上限が100000」で書くの諦めた。
その代わりにTLEケースとか、100000付近で入力上限50桁ギリギリまで一致するケース作ってた。
Compiled 0.0Pt.
Challenge Phase
僕がRoomで唯一提出してる1000点をChallengeしている一瞬の間に500が大量にChallengeされてた。恐すぎ。僕のやつもされてた。
1 Success - 50.Pt
Result
248.32 + 0.0 + 0.0 + 50.0 = 298.32Pt.
Division 2 141位.
レート kyuridenamida(881)→ kyuridenamida(967)
@hogeover30(Masa-Y)氏が3完+12回チャレンジ成功で1位らしい。おめでとうございます!!
12回チャレンジって・・・。
あとPetrが3コ全部落としたらしい。地球が崩壊する可能性がある。