ny独木舟上的旅行java

01. import java.util.Scanner;
02. import java.util.Arrays;
03. public class Main {
04. public static void main(String[]args){
05. Scanner sc=new Scanner(System.in);
06. int t=sc.nextInt();
07. while(t-->0){
08. int w=sc.nextInt();
09. int s=sc.nextInt();
10. int []a=new int [s];
11. for(int i=0;i<s;i++){
12. a[i]=sc.nextInt();
13. }
14. for(int i=0;i<s;i++)
15. for(int j=i+1;j<s;j++){
16. if(a[i]>a[j]){
17. int temp=a[i];
18. a[i]=a[j];
19. a[j]=temp;
20.  
21. }
22. }
23.  
24.  
25. int k=0;
26. for(int i=0,j=s-1;i<=j;)
27. {
28. if(a[i]+a[j]<=w)
29. {
30. i++;
31. j--;
32. k++;
33. }    /*如果可以,让他们两个同乘一条,再比较第二轻和第二重的人,以此类推*/
34. else if(i==j)
35. k++;    /*就剩一个人的时候,他自己单独一条*/
36. else
37. {
38. j--;
39. k++;
40. }     /*重的人自己单独一条舟*/
41. }
42. System.out.println(k);
43. }
44. }
45. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值