2020 CCPC Wannafly Winter Camp Day5 E
題目
題目大意
給你序列,問你有多少個a的子序列可以與b匹配
匹配的要求是子序列長度和匹配序列長度一樣並且當有
思路
題解說枚舉前三個然後做到O(1)計算最後一個,我愣了 ,不會,然後暴力枚舉竟然……過了
代碼
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <queue>
#include <vector>
#include <map>
#include <string>
#include <iostream>
#include <stdlib.h>
#include <deque>
using namespace std;
int num[350];
int main()
{
int i,j,k,l,t,n,m,ans,a,b,c,d;
scanf("%d",&n);
ans=0;
for(i=1;i<=n;i++)
scanf("%d",&num[i]);
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
scanf("%d",&d);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if((a==b)!=(num[i]==num[j]))
continue;
for(k=j+1;k<=n;k++)
{
if((c==b)!=(num[k]==num[j]))
continue;
if((c==a)!=(num[k]==num[i]))
continue;
for(l=k+1;l<=n;l++)
{
if((d==c)!=(num[l]==num[k]))
continue;
if((d==b)!=(num[l]==num[j]))
continue;
if((d==a)!=(num[l]==num[i]))
continue;
++ans;
}
}
}
}
printf("%d",ans);
return 0;
}
太神祕了