猿问

勇者斗恶龙问题C语言实现(UVa 11292)

#include<stdio.h>
#include <string.h>
int main(){
 int n,m; //n is number of heads.m is number of  knights. 
 while(scanf("%d %d",&n,&m)==2&&!(n==0&&m==0)){
   if(n>=1&&n<=20000&&m>=1&&n<=20000&&n<=m){   
   int headSize[n];   
   int knightAbility[m];   
   int i,j;   
   for(i=0;i<n;i++){    
   scanf("%d\n",&headSize[i]);   
   }      
   for(i=0;i<m;i++){    
   scanf("%d\n",&knightAbility[i]);   
   }      
   int sum=0;   
   for(i=0;i<n;i++){    
   int min=999999;    
   for(j=0;j<m;j++){     
   if(knightAbility[j]>=headSize[i]&&knightAbility[j]<min){      
   min=knightAbility[j];     
   }     
   sum+=min;
   }   
   }   
   printf("%d\n",sum); 
   }  
   else   
   printf("loowater is doomed.");
}   //printf("end of pro");
}

这道题我没有事先排序,结果不对。

化糖
浏览 2170回答 1
1回答

艾尔森

你也知道没有排序为什么不排… 主要就是一个贪心 不排序还怎么贪 还有算法问题还是不要在这里问了… 这个网站本身就不是算法的学习网站 (还有你这个缩进看的我无从下手…)
随时随地看视频慕课网APP
我要回答