打错了@[wubaiting2020](/space/show?uid=42019)
by 可耐の小可耐 @ 2019-08-17 11:58:39
@[lyfqaq](/space/show?uid=237015) 您卡常最厉害了,找我这个蒟蒻干吗?
by Soledad_S @ 2019-08-17 11:59:55
@[lyfqaq](/space/show?uid=237015) 您卡常最厉害了,找我这个蒟蒻干吗?
by wubaiting2020 @ 2019-08-17 12:00:05
lyf是我们的红太阳
by wubaiting2020 @ 2019-08-17 12:00:37
突然发现忘贴代码了
```cpp
#pragma GCC optimize(3,"Ofast","inline","-ffast-math","no-stack-protector")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<bits/stdc++.h>
#define reg register
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
ll n,a[105],b[105],ans;
const ll f[]={3,1,0,0};
struct ios
{
inline char read()
{
static const int IN_LEN=1<<18|1;
static char buf[IN_LEN],*s,*t;
return (s==t)&&(t=(s=buf)+fread(buf,1,IN_LEN,stdin)),s==t?-1:*s++;
}
template <typename _Tp> inline ios & operator >>(_Tp&x)
{
static char c11,boo;
for(c11=read(),boo=0;!isdigit(c11);c11=read()){
if(c11==-1)return *this;
boo|=c11=='-';
}
for(x=0;isdigit(c11);c11=read())x=x*10+(c11^'0');
boo&&(x=-x);
return *this;
}
}io;
void dfs(reg int x,reg int y)
{
if(b[x]>a[x])return;
if(b[x]+(n-y+1)*3<a[x])return;
if(x==n)
{
++ans;
return;
}
if(y==n)
{
reg int t=a[x]-b[x];
if(t==2)return;
b[y]+=f[t];
if(b[y]<=a[y])dfs(x+1,x+2);
b[y]-=f[t];
}
else
{
b[x]+=3;
if(b[x]<=a[x])dfs(x,y+1);
b[x]-=3;
b[y]+=3;
if(b[y]<=a[y])dfs(x,y+1);
b[y]-=3;
++b[x],++b[y];
dfs(x,y+1);
--b[x],--b[y];
}
}
int main()
{
io>>n;
for(reg int i=1;i<=n;i++)io>>a[i];
dfs(1,2);
printf("%lld\n",ans);
return 0;
}
```
by 可耐の小可耐 @ 2019-08-17 12:01:13
@[wubaiting2020](/space/show?uid=42019) 被一群红名奆奆包围
by 可耐の小可耐 @ 2019-08-17 12:02:01
~~输优~~fread
by qbu666666 @ 2019-08-17 12:02:58
就我一个蓝名蒟蒻
by 可耐の小可耐 @ 2019-08-17 12:03:04
@[qbu666666](/space/show?uid=157598) 1个数fwrite?
那个封装过的io就是fread实现
by 可耐の小可耐 @ 2019-08-17 12:03:39
@[lyfqaq](/space/show?uid=237015) dfs里的reg去掉试试awa
by XeCtera @ 2019-08-17 12:06:48