2013年12月15日日曜日

JOI予選2014

感想

ああ...(察して
あえて言うなら逝ってしまった

問4

#include<iostream>
#include<string>
using namespace std;
#define MOD 10007
int n, dp[1000][1 << 3];
string s, tmp = "JOI";
int solve(int today, int bit){
  if( today == n ) return 1;
  if( dp[today][bit] ) return dp[today][bit];
  int ret = 0;
  for(int i = 0 ; i < (1 << 3) ; i++ ){
    if(( i >> tmp.find(s[today])) & 1 && i&bit){
      ret += solve( today + 1, i);
    }
  }
  return dp[today][bit] = ret % MOD;
}
int main(){
  cin >> n >> s;
  cout << solve( 0, 1) << endl;
}
自明なのによくわからないことをしてしまった(小並感)
if( today == n + 1 ) と固定されていた、また鍵を気にし過ぎたのがすべての敗因だったかもしれない。
あとほとんど一緒じゃね?って思ってみたり思ってみなかったり。
なんだか困惑と絶望だけが残ってしまった。
1年のうちに本戦行きたかったので留年したい(願望)

0 件のコメント:

コメントを投稿