godperkz @ 2018-08-14 17:46:07
using namespace std;
long int k[5020][2];
int main()
{
int n,s,a,b,ans=0,sum=0;
cin>>n>>s;
cin>>a>>b;
int t=a+b;
for(int i=1;i<=n;i++)
cin>>k[i][0]>>k[i][1];
for (int i=n;i>=2;i--)
for (int j=1;j<=n-1;j++)
{
if(k[j][1]>k[j+1][1])
{
swap(k[j][1],k[j+1][1]);
swap(k[j][0],k[j+1][0]);
}
}
for(int i=1;i<=n;i++)
cout<<k[i][0]<<" "<<k[i][1]<<" ";
int i=1;
while(ans<=s&&i<=n)
{
if(k[i][0]<=t)
{
ans+=k[i][1];
sum++;
}
i++;
}
cout<<sum<<endl;
}
by 花落丶宸星 @ 2018-08-14 18:05:02
可以用MarkDown吗,让我方便看看
by YunJ @ 2018-08-14 18:10:42
#include<iostream>
#include<algorithm>
using namespace std;
long int k[5020][2];
int main() {
int n,s,a,b,ans=0,sum=0;
cin>>n>>s;
cin>>a>>b;
int t=a+b;
for(int i=1;i<=n;i++)
cin>>k[i][0]>>k[i][1];
for (int i=n;i>=2;i--)
for (int j=1;j<=n-1;j++)
{ if(k[j][1]>k[j+1][1])
{ swap(k[j][1],k[j+1][1]); swap(k[j][0],k[j+1][0]); }
}
for(int i=1;i<=n;i++)
cout<<k[i][0]<<" "<<k[i][1]<<" ";
int i=1;
while(ans<=s&&i<=n) {
if(k[i][0]<=t)
{
ans+=k[i][1];
sum++;
}
i++;
}
cout<<sum<<endl;
}
by YunJ @ 2018-08-14 18:11:05
@花落丶宸星 我翻译了一下
by 花落丶宸星 @ 2018-08-15 08:31:48
@yuntianming 你可以先给我讲一下你的思路吗
by YunJ @ 2018-08-15 08:39:37
@花落丶宸星 你问版主,我只翻译了一下
by 花落丶宸星 @ 2018-08-15 08:48:50
@yuntianming 我稍微加入了一点自己的思想,还有注释,你可以看看,有问题再问我。
#include<iostream>
#include<algorithm>
using namespace std;
struct pg{
int gd,lq;
}k[5020];//使用结构体,清晰明了
bool cmp(pg x,pg y){
if (x.lq!=y.lq) return x.lq<y.lq;
else return x.gd<y.gd;
}
int main(){
int n,s,a,b,ans=0,sum=0;
cin>>n>>s;
cin>>a>>b;
int t=a+b;
for(int i=1; i<=n; i++)
cin>>k[i].gd>>k[i].lq;
/*for (int i=n; i>=2; i--)
for (int j=1; j<=n-1; j++) {
if(k[j][1]>k[j+1][1]) {
swap(k[j][1],k[j+1][1]);
swap(k[j][0],k[j+1][0]);
}
}
*/
sort(k+1,k+n+1,cmp);//快排相对来说更快,而且c++自带stl库。
//for(int i=1; i<=n; i++)
// cout<<k[i][0]<<" "<<k[i][1]<<" ";
/*while(ans<=s&&i<=n) {
if(k[i].gd<=t) {
ans+=k[i].lq;
sum++;
}
i++;
}*/
for(int i=1;i<=n;i++){
if (k[i].gd<=t&&k[i].lq<=s){
sum++;
s-=k[i].lq;
}
}//我比较习惯于减法,如果你不习惯的话可以换成加法
cout<<sum<<endl;
}
by YunJ @ 2018-08-15 08:49:49
@花落丶宸星 我不是版主,你应该@godperkz
by 花落丶宸星 @ 2018-08-15 08:50:27
@godperkz 刚才@错了
by 花落丶宸星 @ 2018-08-15 08:50:37
@yuntianming 对不起啊
by 花落丶宸星 @ 2018-08-15 08:50:50
@yuntianming 你们都没换头像,我看错了