2017第8回JavaグループBブルーブリッジカップ州大会本当の質問

ブルーブリッジカップの長年にわたるトピックコラムです。更新され、前年度からの実際の質問と回答が公開されます。友達を歓迎して私に注意を払ってください。あなたの好きなものと注意が私にとって最高の動機です!
毎日1つの本当の質問を更新するので、お楽しみに

Lanqiaoカップの過去の論文と詳細な回答


質問1:買い物リスト

タイトル説明
シャオミンは就職したばかりです。上司はとても素敵ですが、上司の妻は買い物が大好きです。上司が忙しいとき、彼はしばしばシャオミンに彼に代わって買い物に行くのを手伝ってくれるように頼みます。シャオミンは退屈しましたが、断ることはできませんでした。
いいえ、XXプロモーションが再び登場しました!上司の妻は、すべて割引付きの長い買い物リストを発行しました。シャオミンにも癖があり、最後の手段としてカードをスワイプすることはなく、現金で手に入れることができます。
Xiao Mingは非常に動揺しています。この買い物を完了するために、ATMから引き出す必要のある現金の計算を手伝ってください。
ATMは100元の紙幣しか提供できません。Xiao Mingは、できるだけ少ない現金で十分に引き出したいと考えています。
あなたの仕事は、シャオミンが少なくとも引き出す​​必要のある現金の額を把握することです。
以下は頭痛の買い物リストです。プライバシーを保護するために、アイテムの名前は非表示になっています。

**** 180.90 12%オフ
**** 10.25 65%オフ
**** 56.14 10%オフ
**** 104.65 10%オフ
**** 100.30 88%オフ
**** 297.15半額
*** * 26.75 35 %オフ
** ** 130.62半額
**** 240.28 58%オフ
**** 270.62 20%オフ
**** 115.87 12%オフ
**** 247.34 5%オフ
**** 73.21 10 %オフ
**** 101.00半額
**** 79.54半額
**** 278.44 30%オフ
**** 199.26半額**** 12.97 
10%オフ
**** 166.30 78%オフ
*** * 125.50 58%オフ
**** 84.98 10%オフ
**** 113.35 68%オフ
**** 166.57半額
**** 42.56 10%オフ
**** 81.90 
5%オフ
**** 131.78 20%オフ**** 255.89 78%オフ
**** 109.17 10%オフ
*** * 146.69 68%オフ
** ** 139.33 35%オフ
**** 141.16 78%オフ
**** 154.74 20%オフ
**** 59.42 20%オフ
**** 85.44 68%オフ
**** 293.70 88%オフ
**** 261.79 65%オフ
*** * 11.30 12%オフ
**** 268.27 58%オフ
**** 128.29 88%オフ
**** 251.03 20%オフ
**** 208.39 75%オフ
**** 128.88 75%オフ
**** 62.06 10%オフ
**** 225.87 75%オフ
**** 12.89 75%オフ
*** * 34.28 75%オフ
**** 62.16 58%オフ
**** 
129.12半額**** 218.37半額
**** 289.69 20%オフ

88%の割引は定価の88%で計算され、20%の割引は80%で計算され、残りは類似していることに注意してください。
特に、半額は50%で計算されます。

XiaoMingがATMから引き出したい金額を元で提出してください。
答えは4300と同様の整数であり、00で終わる必要があります。余分なコンテンツを入力しないでください。
トピック分析
トピックコード



質問2:カードの三角形

タイトルの説明
A、2、3、4、5、6、7、8、9 9枚のカードが正三角形に配置されています(Aは1として計算されます)。各辺の合計は等しくなければなりません。
下の図はソート方法です(配置に問題がある場合は、p1.pngを参照してください)。

      A 
     9 6 
    4 8 
   3 7 5 2

そのような取り決めはたくさんあるかもしれません。
同じタイプの回転とミラーリングを検討する場合、いくつの異なる配置がありますか?

この数字を計算して提出してください。

注:送信する必要があるのは整数です。余分なコンテンツは送信しないでください。
トピック分析
トピックコード



3番目の質問:圧力計算

タイトルは
、惑星Xのハイテク研究所にきちんと積み上げられた貴金属原料の特定のバッチを説明しています。

各金属原料の形状や大きさは全く同じですが、重さが異なります。
金属材料は厳密にピラミッド型に積み重ねられています。

                              7 
                             5 8 
                            7 8 8 
                           9 2 7 2 
                          8 1 4 9 1 
                         8 1 8 8 4 1 
                        7 9 6 1 4 5 4 
                       5 6 5 5 6 9 5 6 
                      5 5 4 7 9 3 5 5 1 
                     7 5 7 9 7 4 7 3 3 1 
                    4 6 4 5 5 8 8 3 2 4 3 
                   1 1 3 3 1 6 6 5 5 4 4 2 
                  9 9 9 2 1 9 1 9 2 9 5 7 9 
                 4 3 3 7 7 9 3 6 1 3 8 8 3 7 
                3 6 8 1 5 3 9 5 8 3 8 1 8 3 3 
               8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9
              8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4 
             2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9 
            7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6 
           9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3 
          5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9 
         6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4 
        2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4 
       7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6 
      1 2 4 1 3 3 5 3 4 9 6 3 8 6 5 9 1 5 3 2 6 8 8 5 3 
     2 2 7 9 3 3 2 8 6 9 8 4 4 9 5 8 2 6 3 4 8 4 9 3 8 8 
    7 7 7 9 7 5 2 7 9 2 5 1 9 2 6 5 3 9 3 5 7 3 5 4 2 8 9 
   7 7 6 6 8 7 5 5 8 2 4 7 7 4 7 2 6 9 2 1 8 2 9 8 5 7 3 6
  5 9 4 5 5 7 5 5 6 3 5 3 9 5 8 9 5 4 1 2 6 1 4 3 5 3 2 4 1 
 XXXXXXXXXXXXXXXXXXXXX XXXXXXXXX
 

数字は金属ブロックの重量を表します(より大きな測定単位)。
最下層のXは、30個の非常に高精度の電子はかりを表しています。

原材料の各部分の重量がその下の2つの金属ブロックに非常に正確にかかると仮定すると、
最後に、すべての金属ブロックの重量が下部の電子スケールで厳密かつ正確に均等に分割されます。
電子はかりの測定単位が非常に小さいため、表示される数値が非常に大きくなります。

スタッフは、最小の読み取り値を持つ電子スケールの読み取り値が2086458231であることを発見しました

計算してください:最大の読み取り値を持つ電子スケールの読み取り値は何ですか?

注:送信する必要があるのは整数です。余分なコンテンツは入力しないでください。
トピック分析
トピックコード



4番目の質問:ルービックキューブの状態

タイトルの説明
2次ルービックキューブは、2層のみのルービックキューブで、8つの小さなピースのみで構成されています。
図p1.pngに示すように。

シャオミンはとてもやんちゃで、3色しか好きではないので、自宅で2次ルービックキューブを次のように塗り直しました。

フロント:オレンジ
右:グリーン
トップ:イエロー
左:グリーン
下:オレンジ
バック:イエロー

そのようなルービックキューブが破壊された後、いくつの異なる状態があるかを計算してください。

ルービックキューブが全体的に回転した後の2つの状態で、すべての辺の色が同じである場合、同じ状態と見なされます。
ここに画像の説明を挿入

州の数を表す整数を提出してください。冗長な内容や説明文は記入しないでください。
トピック分析
トピックコード



質問5:番号を取る

タイトル説明
整数のk番目の桁を見つける方法はたくさんあります。
次の方法が1つです。

public class Main
{
    
    
    static int len(int x){
    
    
        if(x<10) return 1;
        return len(x/10)+1;
    }
    
    // 取x的第k位数字
    static int f(int x, int k){
    
    
        if(len(x)-k==0) return x%10;
        return ______________________;  //填空
    }
    
    public static void main(String[] args)
    {
    
    
        int x = 23513;
        //System.out.println(len(x));
        System.out.println(f(x,3));
    }
}

問題のテストデータについては、5を印刷する必要があります。
ソースコードを注意深く分析し、不足しているコードを下線部分に追加してください。
トピック分析
トピックコード



質問6:最大の共通部分文字列

タイトルの説明
共通部分文字列最大長の問題は、
2つの文字列のすべての部分文字列間で一致できる最大長はどれくらいかということです。
例:「abcdkkk」と「baabcdadabc」では
、検出できる最長の共通部分文字列は「abcd」であるため、共通部分文字列の最大長は4です。
次のプログラムは、文字列サイズが大きくない場合に比較的効果的な解決策である行列法によって解決されます。

public class Main
{
    
    
    static int f(String s1, String s2)
    {
    
    
        char[] c1 = s1.toCharArray();
        char[] c2 = s2.toCharArray();
        
        int[][] a = new int[c1.length+1][c2.length+1];
        
        int max = 0;
        for(int i=1; i<a.length; i++){
    
    
            for(int j=1; j<a[i].length; j++){
    
    
                if(c1[i-1]==c2[j-1]) {
    
    
                    a[i][j] = __________________;  //填空 
                    if(a[i][j] > max) max = a[i][j];
                }
            }
        }
        
        return max;
    }
    
    public static void main(String[] args){
    
    
        int n = f("abcdkkk", "baabcdadabc");
        System.out.println(n);
    }
}

ソリューションのアイデアを分析し、下線部分に不足しているコードを入力してください。
トピック分析

トピックコード



質問7:日付の問題

タイトルの説明
XiaoMingは、一連の歴史的文書を照合しています。これらの歴史的文書には多くの日付が記載されています。Xiao Mingは、これらの日付が1960年1月1日から2059年12月31日までであることを知っています。Xiaomingが問題にしているのは、これらの日付の形式が非常に一貫しておらず、使用年/月/日、使用月/日/年、使用日/月/年であるということです。さらに厄介なのは、年の最初の2桁も省略されているため、文献の日付に対応する可能性のある日付が多数あることです。

たとえば、02/03/04は、2002年3月4日、2004年2月3日、または2004年3月2日です。

文学の日付を考えると、Xiao Mingがそれに対応する可能性のある日付を決定するのを手伝ってもらえますか?

入る

日付、形式は「AA / BB / CC」です。(0 <= A、B、C <= 9)

入る

日付ごとに1行ずつ、いくつかの異なる日付を出力します。形式は「yyyy-MM-dd」です。複数の日付が朝から夜まで手配されます。

サンプル入力

04/02/03

サンプル出力

2002-03-04
2004-02-03
2004-03-02

リソース合意:
ピークメモリ消費量(仮想マシンを含む)<256MCPU
消費量<1000ms

トピック分析
トピックコード



質問8:パンが数を構成します

タイトル説明
シャオミンはほぼ毎朝パン屋で朝食を食べます。この蒸しパンはN種類の蒸し器で買われており、そのうちi番目の蒸し器で愛パンを入れることができた。蒸し器の種類ごとにたくさんのバスケットがあり、無限のバスケットと見なすことができます。

顧客がX個の蒸し饅頭を購入したいときはいつでも、蒸し饅頭を販売する叔父はすぐにいくつかの蒸し饅頭を選択するので、これらのいくつかのケージには正確にX本の蒸し饅頭があります。たとえば、3種類のスチーマーがあり、3、4、5個のバンズを入れることができます。顧客が11個のパンを購入したい場合、叔父は3個のケージ2個と5個のケージ1個(または3個のケージ1個と4個のケージ2個)を選択します。

もちろん、包子おじさんが顧客が購入したい金額を補えないこともあります。たとえば、4、5、6個のバンズを収納できる3種類のスチーマーがあります。顧客が7つのパンを購入したいと思ったとき、叔父はそれをまとめることができませんでした。

シャオミンは、バオおじさんが何種類の数字を作ることができなかったか知りたがっていました。

入る

最初の行には整数Nが含まれています。(1 <= N <= 100)
次のN行のそれぞれに整数Aiが含まれています。(1 <= Ai <= 100)

出力

整数は答えを表します。補うことができない数が無限大の場合は、INFを出力します。

たとえば、
入力:
2
4
5

プログラムは次のように出力する必要があります:
6

別の例では、
入力:
2
4
6

プログラムは次のように出力する必要があります:
INF

サンプルの説明:
サンプル1の場合、未完成の数値には1、2、3、6、7、11が含まれます。
たとえば、2のように、すべての奇数を構成することはできないため、無限に多くなります。

リソース合意:
ピークメモリ消費量(仮想マシンを含む)<256MCPU
消費量<1000ms
トピック分析
トピックコード



質問9:チョコレートを割る

トピックの説明
子供の日、K人の子供たちがシャオミンの家を訪れました。シャオミンは子供たちを楽しませるためにチョコレートのコレクションを取り出しました。
Xiao Mingには合計N個のチョコレートがあり、そのうちi番目のチョコレートはHi xWiの正方形で構成される長方形です。

为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:

1. 形状是正方形,边长是整数  
2. 大小相同  

たとえば、6x5チョコレートを6個の2x2チョコレートまたは2個の3x3チョコレートにカットできます。

もちろん、子供たちは皆、手に入るチョコレートができるだけ大きいことを望んでいます。リトルハイが最大の辺の長さを計算するのを手伝ってくれませんか。

入力
最初の行には、2つの整数NとKが含まれています。(1 <= N、K <= 100000)
次のN行のそれぞれには、2つの整数HiとWiが含まれています。(1 <=こんにちは、Wi <= 100000)
各子供が少なくとも1x1のチョコレートを手に入れることができるように入力します。

出力
カットされたスクエアチョコレートの可能な最大辺の長さを出力します。

サンプル入力:
2 10
6 5
5 6

サンプル出力:
2

リソース合意:
ピークメモリ消費量(仮想マシンを含む)<256MCPU
消費量<1000ms

トピック分析
トピックコード



10番目の質問:k回の間隔

タイトル説明
長さN、A1、A2、…ANのシーケンスが与えられ、連続サブシーケンスAi、Ai + 1、…Aj(i <= j)の合計がKの倍数である場合、これを区間と呼びます。 [i、j]はK回の間隔です。

シーケンス内のK倍間隔の総数を見つけることができますか?

入る

最初の行には、2つの整数NとKが含まれています。(1 <= N、K <= 100000)
次のN行のそれぞれに整数Aiが含まれています。(1 <= Ai <= 100000)

出力

K回の間隔の数を表す整数を出力します。

たとえば、次のように
入力します
。52
1
2
3
4
5

プログラムは次のように出力する必要があります:
6

リソースの合意:
ピークメモリ消費量(仮想マシンを含む)
<256MCPU消費量<2000ms
質問分析
質問コード



おすすめ

転載: blog.csdn.net/kiwi_berrys/article/details/111508510