Description
Solution
很明显的,我们可以按顺序放珠子。
先放1号。
怎么放都只有一种。
然后放2号
有1号个数+1个空,放2号个数-1个珠子(最后一个必须放在最后),可以有空位
显然后面的是类似的。
设前面有
num
个珠子,当前有
p
个
然后就相当于在
但是隔板可以不插在珠子中?就是有的空可以不放珠子?
枚举多少个隔板不插,再乘个组合公式。
然后就没了~
Code
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<cstring>
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fod(i,a,b) for(i=a;i>=b;i--)
#define N 100005
using namespace std;
int a[N],b[N],h[N],n,t;
int main()
{
cin>>t;
while(t-->0)
{
scanf("%d",&n);
int i,j,q;
fo(i,1,n) scanf("%d",&a[i]);
fo(i,1,n)
{
scanf("%d",&q);
h[i]=q-a[i];
if(h[i]<0) h[i]+=4;
}
int ans=0;
fo(i,1,4)
{
bool bz=0;
fo(j,1,n)
{
if(h[j]>=i&&bz==0) bz=1;
if(h[j]<i&&bz==1) bz=0,ans++;
}
if (bz==1) ans++;
}
printf("%d\n",ans);
}
}