社区讨论
0分求调,写了思路,样例输出是916212631
P1094[NOIP 2007 普及组] 纪念品分组参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m2d0jbax
- 此快照首次捕获于
- 2024/10/17 16:02 去年
- 此快照最后确认于
- 2025/11/04 17:00 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int w,n,cnt;
int p[30010];
int main()
{
cin>>w>>n;
cnt=0;
for(int i=1;i<=n;i++)
{
cin>>p[i];
}
for(int i=1;i<=n;i++)
{
for(int j=n;j>i;j--)
{
//1.全满足
//2.i取了
//3.j取了
//4.i,j取了
//5.超范围w了
if(p[i]+p[j]<=w&&p[i]&&p[j])
{
cnt++;
p[i]=0;
p[j]=0;
}
else if(p[i]==0&&p[j]!=0)
{
i++;
}
else if(p[i]!=0&&p[j]==0)
{
j--;
}
else if(p[i]==0&&p[j]==0)
{
i++;
j--;
}
else
{
j--;
}
}
for(int i=1;i<=n;i++)
{
if(p[i])
{
cnt++;
//统计还没有变0(即还没有被分组的量),使它单独成组
}
}
cout<<cnt;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...