国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)字三角形+包子湊數(shù)(藍(lán)橋杯JAVA解法)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)字三角形+包子湊數(shù)(藍(lán)橋杯JAVA解法)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

數(shù)字三角形:用戶登錄

題目描述

數(shù)字三角形+包子湊數(shù)(藍(lán)橋杯JAVA解法)

上圖給出了一個(gè)數(shù)字三角形。從三角形的頂部到底部有很多條不同的路徑。對(duì)于每條路徑,把路徑上面的數(shù)加起來(lái)可以得到一個(gè)和,你的任務(wù)就是找到最大的和(路徑上的每一步只可沿左斜線向下或右斜線向下走)。

輸入描述

輸入的第一行包含一個(gè)整數(shù)?N?(1≤N≤100),表示三角形的行數(shù)。

下面的?N?行給出數(shù)字三角形。數(shù)字三角形上的數(shù)都是?0?至?99?之間的整數(shù)。

輸出描述

輸出一個(gè)整數(shù),表示答案。

輸入輸出樣例

示例

輸入

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

輸出

30

運(yùn)行限制

  • 最大運(yùn)行時(shí)間:1s
  • 最大運(yùn)行內(nèi)存: 128M

代碼:

import java.util.Scanner;

public class 數(shù)字三角形 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();//行數(shù)
        
        int arr[][] = new int[n][n];//初始值
        int dp[][] = new int [n][n];//從上到下,加上初始值
        for(int i=0;i<n;i++) {
            for(int j=0;j<=i;j++) {
                arr[i][j] = sc.nextInt();
            }
        }
        dp[0][0] = arr[0][0];
        //先給最左邊,賦加上后值
        for(int i=1;i<n;i++) {
            dp[i][0] = dp[i-1][0]+arr[i][0]; 
        }
        //推出每一個(gè)加上,上一個(gè)左右兩側(cè)值之后的最大值
        int max=0;
        for(int i=1;i<n;i++) {
            for(int j=1;j<=i;j++) {
                dp[i][j] = arr[i][j] + Math.max(dp[i-1][j-1],dp[i-1][j]);
                if(max<dp[i][j])
                    max = dp[i][j];
            }
        }
        System.out.println(max);
        /*
        if(n%2!=0) {
            System.out.println(dp[n-1][n/2]);
        }else {
            System.out.println(Math.max(dp[n-1][n/2], dp[n-1][n/2-1]));
        }
        */
    }
}

包子湊數(shù):用戶登錄

題目描述

小明幾乎每天早晨都會(huì)在一家包子鋪吃早餐。他發(fā)現(xiàn)這家包子鋪有?N?種蒸籠,其中第i?種蒸籠恰好能放?Ai??個(gè)包子。每種蒸籠都有非常多籠,可以認(rèn)為是無(wú)限籠。

每當(dāng)有顧客想買?X?個(gè)包子,賣包子的大叔就會(huì)迅速選出若干籠包子來(lái),使得這若干籠中恰好一共有?X?個(gè)包子。比如一共有 3 種蒸籠,分別能放 3、4 和 5 個(gè)包子。當(dāng)顧客想買 11 個(gè)包子時(shí),大叔就會(huì)選 2 籠 3 個(gè)的再加 1 籠 5 個(gè)的(也可能選出 1 籠 3 個(gè)的再加 2 籠 4 個(gè)的)。

當(dāng)然有時(shí)包子大叔無(wú)論如何也湊不出顧客想買的數(shù)量。比如一共有 3 種蒸籠,分別能放 4、5 和 6 個(gè)包子。而顧客想買 7 個(gè)包子時(shí),大叔就湊不出來(lái)了。

小明想知道一共有多少種數(shù)目是包子大叔湊不出來(lái)的。

輸入描述

第一行包含一個(gè)整數(shù)?N?(1≤N≤100)。

以下 N 行每行包含一個(gè)整數(shù)?Ai??(1≤Ai?≤100)。

輸出描述

一個(gè)整數(shù)代表答案。如果湊不出的數(shù)目有無(wú)限多個(gè),輸出 INF。

輸入輸出樣例

示例 1

輸入

2
4
5

輸出

6

樣例說(shuō)明

湊不出的數(shù)目包括:1, 2, 3, 6, 7, 11。

示例 2

輸入

2
4
6

輸出

INF

樣例說(shuō)明

所有奇數(shù)都湊不出來(lái),所以有無(wú)限多個(gè)

運(yùn)行限制

  • 最大運(yùn)行時(shí)間:1s
  • 最大運(yùn)行內(nèi)存: 256M

代碼:

import java.util.Scanner;

public class 包子湊數(shù) {
    static int nums[];
    static int n;
    static int m = 10000;
    static boolean dp[];
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        nums = new int[n + 1];
        for (int i = 1; i <= n; i++)
        {
            nums[i] = sc.nextInt();
        }
        // 計(jì)算最大公約數(shù)如果不為1則說(shuō)明湊不出的數(shù)有無(wú)數(shù)個(gè)
        int gcd = nums[1];
        for (int i = 2; i <= n; i++)
        {
            gcd = gcd(gcd, nums[i]);
        }
        if(gcd != 1)
        {
            System.out.println("INF");
            return;
        }
        // 有點(diǎn)向完全背包
        // 只要能塞就瘋狂塞
        dp = new boolean[m + 10];

        // 枚舉每籠
        for (int i = 1; i <= n; i++)
        {
            dp[nums[i]] = true;
            // 枚舉出重量
            for (int j = 0; j + nums[i] <= m; j++)
            {
                if(dp[j])
                    dp[j + nums[i]] = true;
            }
        }
        // 進(jìn)行遍歷找出沒(méi)有被覆蓋的地方
        int ans = 0;
        for (int i = 1; i <= m; i++)
        {
//            System.out.println(i);
            if(!dp[i]) ans++;
        }
        System.out.println(ans);
    }
    public static int gcd(int a,int b)
    {
        if(b==0) return a;
        return gcd(b, a%b);
    }
}

花開(kāi)花落終有時(shí),相逢相聚本無(wú)意文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-429969.html

到了這里,關(guān)于數(shù)字三角形+包子湊數(shù)(藍(lán)橋杯JAVA解法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【數(shù)字三角形】

    【數(shù)字三角形】

    題目描述 上圖給出了一個(gè)數(shù)字三角形。從三角形的頂部到底部有很多條不同的路徑。對(duì)于每條路徑,把路徑上面的數(shù)加起來(lái)可以得到一個(gè)和,你的任務(wù)就是找到最大的和。 路徑上的每一步只能從一個(gè)數(shù)走到下一層和它最近的左邊的那個(gè)數(shù)或者右 邊的那個(gè)數(shù)。此外,向左下走

    2024年02月05日
    瀏覽(23)
  • 【數(shù)字三角形】(C++版)

    【數(shù)字三角形】(C++版)

    題目描述 上圖給出了一個(gè)數(shù)字三角形。從三角形的頂部到底部有很多條不同的路徑。對(duì)于每條路徑,把路徑上面的數(shù)加起來(lái)可以得到一個(gè)和,你的任務(wù)就是找到最大的和。 路徑上的每一步只能從一個(gè)數(shù)走到下一層和它最近的左邊的那個(gè)數(shù)或者右 邊的那個(gè)數(shù)。此外,向左下走

    2024年02月16日
    瀏覽(32)
  • 【洛谷】數(shù)字三角形(動(dòng)態(tài)規(guī)劃)

    【洛谷】數(shù)字三角形(動(dòng)態(tài)規(guī)劃)

    目錄 邊讀邊存 優(yōu)化成一維數(shù)組——倒序沒(méi)用了? 從上往下存,最大值存在最后一行,最后遍歷最后一行得到最大值的寫法? 邊讀邊存,可以有效降低時(shí)間復(fù)雜度 在上一篇文章(【洛谷】采藥(01背包問(wèn)題))將二維數(shù)組優(yōu)化成一維數(shù)組的過(guò)程中,內(nèi)層循環(huán)我們是采用倒序的方

    2024年02月16日
    瀏覽(26)
  • 藍(lán)橋 卷“兔”來(lái)襲編程競(jìng)賽專場(chǎng)-03破解三角形密碼 題解

    挑戰(zhàn)介紹 三角形密碼指的是將一串字符串按照正直角三角形的形狀排列,傳遞的信息隱藏在每一行的最后一個(gè)字符,然后將所有的行的最后一個(gè)字符依次連接,就是需要傳遞的信息。 例如加密后的字符串是:我們愛(ài)的是藍(lán)色的心橋 將加密字符串按照正直角三角形填充后如下

    2023年04月16日
    瀏覽(20)
  • 動(dòng)態(tài)規(guī)劃入門(數(shù)字三角形模型)

    動(dòng)態(tài)規(guī)劃入門(數(shù)字三角形模型)

    備戰(zhàn) 2024年藍(lán)橋杯算法學(xué)習(xí) -- 每日一題 Python大學(xué)A組 ????????試題一:摘花生 ????????試題二:最低通行費(fèi)用 ????????試題三:方格取數(shù) ????????試題四:傳紙條 【題目描述】 ????????Hello Kitty想摘點(diǎn)花生送給她喜歡的米老鼠。她來(lái)到一片有網(wǎng)格狀道路的矩

    2024年04月14日
    瀏覽(18)
  • 【題解 | 基礎(chǔ)動(dòng)態(tài)規(guī)劃】:數(shù)字三角形

    【題解 | 基礎(chǔ)動(dòng)態(tài)規(guī)劃】:數(shù)字三角形

    鏈接: [USACO1.5] [IOI1994]數(shù)字三角形 Number Triangles 觀察下面的數(shù)字金字塔。 寫一個(gè)程序來(lái)查找從最高點(diǎn)到底部任意處結(jié)束的路徑,使路徑經(jīng)過(guò)數(shù)字的和最大。每一步可以走到左下方的點(diǎn)也可以到達(dá)右下方的點(diǎn)。 在上面的樣例中,從 7 → 3 → 8 → 7 → 5 7 to 3 to 8 to 7 to 5 7 →

    2024年04月14日
    瀏覽(24)
  • 藍(lán)橋省賽 包子湊數(shù) 完全背包

    ?? 算法題解專欄 ?? 洛谷 P8646 包子湊數(shù) 小明幾乎每天早晨都會(huì)在一家包子鋪吃早餐。他發(fā)現(xiàn)這家包子鋪有 N N N 種蒸籠,其中第 i i i 種蒸籠恰好能放 A i A_i A i ? 個(gè)包子。每種蒸籠都有非常多籠,可以認(rèn)為是無(wú)限籠。 每當(dāng)有顧客想買 X X X 個(gè)包子,賣包子的大叔就會(huì)迅速選出

    2023年04月26日
    瀏覽(16)
  • AcWing 898. 數(shù)字三角形 (每日一題)

    AcWing 898. 數(shù)字三角形 (每日一題)

    像數(shù)組下標(biāo) 出現(xiàn) i-1 的,在循環(huán)的時(shí)候從 i=1 開(kāi)始。 0x3f3f3f3f : 1061109567 Integer.MAX_VALUE : 2147483647 在選用 Integer.MAX_VALUE 時(shí),很可能會(huì)出現(xiàn) 數(shù)據(jù)溢出 。 所以在用 Integer.MAX_VALUE 時(shí) 需要先取 MAX 再加 a[i][j]; 注:做 數(shù)字三角形 這題時(shí), 初始化時(shí)需要注意一下邊界 。 由于我們 狀態(tài)計(jì)

    2024年02月11日
    瀏覽(23)
  • 用動(dòng)態(tài)規(guī)劃算法編程實(shí)現(xiàn)數(shù)字三角形問(wèn)題

    用動(dòng)態(tài)規(guī)劃算法編程實(shí)現(xiàn)數(shù)字三角形問(wèn)題

    如下所示為一個(gè)數(shù)字三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 請(qǐng)編一個(gè)程序計(jì)算從頂至底的某一條路徑,使該路徑所經(jīng)過(guò)的數(shù)字的總和最大。 思路:建立兩個(gè)二位數(shù)組m(用來(lái)存儲(chǔ)數(shù)字三角形),sum(用來(lái)存儲(chǔ)數(shù)字三角形中每一個(gè)值得路徑值);sum[i] [j]從最后一行開(kāi)始存儲(chǔ); 如果當(dāng)前

    2024年02月11日
    瀏覽(20)
  • 藍(lán)橋杯官網(wǎng)題目:2.包子湊數(shù)

    藍(lán)橋杯官網(wǎng)題目:2.包子湊數(shù)

    鏈接: 題目點(diǎn)這里 首先要知道一個(gè)數(shù)學(xué)定理裴蜀定理,還有完全背包的基本運(yùn)用,這里只介紹前者 也可以看一下我的個(gè)人理解,我是第一次聽(tīng)說(shuō)這個(gè)定理,理解可能有誤差。 假設(shè)gcd(a,b)=d,gcd是最大公約數(shù)的意思。即a,b的最大公約數(shù)是d ax+by=m(x,y是任意整數(shù),可正可負(fù)) 對(duì)

    2024年01月21日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包