P1478 陶陶摘苹果(升级版)

Posted BlueValentines

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1478 陶陶摘苹果(升级版)相关的知识,希望对你有一定的参考价值。

题解:

此题需要先排序在进行计算

#include<stdio.h>
void swap(int *a,int *b){
 int t=*a;
 *a=*b;
 *b=t;
}
//void sort(int a[],int s,int e,int b[]){
// if(s>=e){
//  return;
// }
// int k=a[s];
// int i=s,j=e;
// while(i!=j){
//  while(j>i&&a[j]>=k)
//   --j;
//  swap(&a[i],&a[j]);
//  swap(&b[i],&b[j]);
//  while(i<j&&a[i]<=k)
//   ++i;
//  swap(&a[i],&a[j]);
//  swap(&b[i],&b[j]);
// }
// sort(a,s,i-1,b);
// sort(a,i+1,e,b);
//}
int main()
{
 int n,s;
 scanf("%d %d",&n,&s);
 int a,b;
 scanf("%d %d",&a,&b);
 int  x[n],y[n],i;
 for(i=0;i<n;i++){
  scanf("%d %d",&x[i],&y[i]);
 }
 
// sort(y,0,n-1,x);
 
 int j;
 for(i=1;i<n;i++){
  for(j=n-1;j>=i;j--){
   if(y[j]<y[j-1]){
    swap(&y[j],&y[j-1]);
    swap(&x[j],&x[j-1]);
   }
  }
 }
 
// {
//  printf("************ ");
//  for(i=0;i<n;i++){
//   printf("%d %d ",x[i],y[i]);
//  }
// }
 
 int ret=0;
 a+=b;
 for(i=0;i<n;i++){
  if(a>=x[i]){
   s-=y[i];
   if(s<0){
    break;
   }
   ret++;
  }
 }
 printf("%d",ret);
 return 0;
}

 

以上是关于P1478 陶陶摘苹果(升级版)的主要内容,如果未能解决你的问题,请参考以下文章

P1478 陶陶摘苹果(升级版)

陶陶摘苹果(升级版)

陶陶摘苹果

P1046 陶陶摘苹果

2719:陶陶摘苹果-poj

广实1588: 1.6-02:陶陶摘苹果