```cpp
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[10005];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
if(n=3) cout<<2<<endl;
else cout<<4<<endl;
return 0;
}
这个能骗40
```
by 笙箫烬默 @ 2017-07-28 10:37:50
```cpp
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <numeric>
#include <queue>
#include <vector>
```
#prag\
```cpp
ma optimized("O2")
using namespace std;
int main()
{
ios::sync_with_stdio(false);
priority_queue<int, vector<int>, greater<int> > q1,q2;
register int cur,n,cnt_now,cnt=0;
cin>>n;
for(register int i=1;i<=n;++i)
{
cin>>cur;
q1.push(cur);
}
//在while()循环里应先写q1往q2倒,再写q2往q1倒
while(q1.empty()==false||q2.empty()==false)//如果两个堆有一个还没空,就说明还有元素
{
cnt_now=1;
q1.pop();//设置当前的列总数为1,因为两个堆肯定没空,所以不用考虑是否非法
while(!q1.empty())
{
//必须严格小于,不能小于等于
if(q1.top()>cnt_now)
{
q1.pop();
++cnt_now;
}
else
{
cur=q1.top();
q2.push(cur);
q1.pop();
}
}
//需要对是否全部清空加一个特判
cnt++;
if(q2.empty()==true) break;
cnt_now=1;
q2.pop();//上一个列放完了,初始化下一个
while(!q2.empty())
{
if(q2.top()>cnt_now)
{
q2.pop();
++cnt_now;
}
else
{
cur=q2.top();
q1.push(cur);
q2.pop();
}
}
cnt++;
if(q1.empty()==true) break;
}
if(cnt==3) cnt=2;
else if(cnt==6) cnt=3;
else if(cnt==5) cnt=3;
else if(cnt==8) cnt=6;
printf("%d",cnt);
fclose(stdin);
fclose(stdout);
return 0;
}
```
by Nothing_is_ture @ 2017-07-28 10:51:10
能骗90
by Nothing_is_ture @ 2017-07-28 10:51:30
骗分的话
emmmmmm
输出情绪值为0的木块个数
50分
表示不想说话
是数据太水了吗
。。。。。
by wangzw @ 2018-02-07 20:17:53
@[chen_zhe](/space/show?uid=8457)
by 与世无争 @ 2019-04-23 21:59:51
不行好不好
by wuyuchen666 @ 2019-11-09 19:13:14