题目链接
非常巧妙,详见算法竞赛入门经典——训练指南
#include<cstdio>
#include<cstring>
const int maxn=1000;
typedef long long ll;
ll d[maxn+1][5][2],ans[maxn+1];
//d[i][j][k]表示共有i个R,其中有j对相邻的R,第一个元素是k最后一个元素是R,且没有相邻O的序列个数
int main()
{
#ifdef local
freopen("in.txt",
题目链接
非常巧妙,详见算法竞赛入门经典——训练指南
#include<cstdio>
#include<cstring>
const int maxn=1000;
typedef long long ll;
ll d[maxn+1][5][2],ans[maxn+1];
//d[i][j][k]表示共有i个R,其中有j对相邻的R,第一个元素是k最后一个元素是R,且没有相邻O的序列个数
int main()
{
#ifdef local
freopen("in.txt",