過去ログ

いちごみるく
2751ですかね
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (n); ++i)
map<pair<int, pair<int, int>>, int>mp;
int dp(int zan, int l, int r) {
if (mp.count({ zan,{l,r} }))return mp[{ zan, { l,r }}];
if (0 == zan)return 1;
int val = 0;
rep(i, min(5, l + 1))rep(j, min(5, r + 1)) {
if ((l == i)&(r == j))continue;
val += dp(zan - 1, i, j);
}
mp[{ zan, { l,r }}] = val;
return val;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout << dp(5, 5, 5) << endl;
return 0;
}
   1月7日(金) 23:37:08     51173

過去問題一覧へ戻る