日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

杭电OJ1069java实现

發布時間:2025/3/20 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 杭电OJ1069java实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

杭電1069題目鏈接
思路:建立類包含高,長,寬。(長的為長,在構造函數中默認比較),面積(也可以不需要直接長長,寬寬比較),按照面積從小到大排序(如果沒有面積按照長)。dp[i]表示以第i個為截至的最大高度dp[i]=dp[j] kuai[i].heght.(j表示小于i的最大高度那個),沒輸入三個數默認增加三個數據。類似最長子序列的dp;
代碼如下:

import java.util.Scanner; public class 杭電1069 {public static void main(String[] args) { Scanner sc=new Scanner(System.in);int time=0;while(sc.hasNext()){time ;int n=sc.nextInt();//測試用例if(n==0)break;kuai k[]=new kuai[n*3 1];int dp[]=new int[n*3 1];int value=0;for(int i=0;i<n;i ){int a1=sc.nextInt();int a2=sc.nextInt();int a3=sc.nextInt();k[i*3 1]=new kuai(a1,a2,a3);k[i*3 2]=new kuai(a2,a1,a3);k[i*3 3]=new kuai(a3,a2,a1);}for(int i=1;i<n*3 1;i ){for(int j=i;j<n*3 1;j ){if(k[i].mianji>k[j].mianji){kuai team=k[i];k[i]=k[j];k[j]=team;}}}dp[1]=k[1].heiht;//以第一個為截至for(int i=1;i<n*3 1;i )//以第i個為截止的dp{int max=0;for(int j=1;j<i;j ){if(k[j].chang<k[i].chang&&k[j].kuan<k[i].kuan){ if(dp[j]>max) {max=dp[j];}}}dp[i]=max k[i].heiht;if(dp[i]>value){value=dp[i];}}System.out.println("Case " time ": maximum height = " value); // for(int i=0;i<n*3;i )//測試 // { // System.out.println(k[i].heiht " " k[i].chang " " k[i].kuan " " k[i].mianji); // }} } } class kuai {int heiht;int chang;int kuan;int mianji;public kuai(int a,int b,int c){this.heiht=a;this.chang= b>c?b:c;this.kuan=b<c?b:c;this.mianji=b*c;} }

總結

以上是生活随笔為你收集整理的杭电OJ1069java实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。