2015第6回JavaグループAブルーブリッジカップ州大会本当の質問

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

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


質問1:ファーボルグはクルミを食べる

タイトル説明
クルミが大好きな森の中にファーボルグがあります。しかし、見つけたクルミを2等分し、1つを食べ、1つを保つ習慣があります。均等に分割できない場合、ファーボルグはクルミを捨てて分割します。翌日、クルミが1つ残るまでこのプロセスを続けるので、捨てます。ある日、ファーボルグは1543個のクルミを見つけました。これらのクルミを食べる過程でいくつのクルミが失われるのか聞いてみてください。
トピック分析
トピックコード


質疑応答

3

質問2:ギャラクシー爆弾

タイトル説明
X銀河の広大な空間に浮かぶX星の人工「爆弾」がたくさんあり、宇宙の道路標識として使われています。
各爆弾は数日で爆発するように設定できます。
たとえば、アルファ爆弾が2015年1月1日に配置され、時間が15日である場合、2015年1月16日に爆発します。
2014年11月9日に1000日のタイミングで配置されたベータ爆弾があります。爆発した正確な日付を計算してください。

日付を入力してください。形式はyyyy-mm-ddで、4桁の年、2桁の月、2桁の日付です。例:2015-02-19
フォーマットに厳密に従って書いてください。他の単語や記号は表示できません。
トピック分析
トピックコード


質疑応答

2017-08-05

質問3:9の数は3つのグループに分けられます

タイトルの説明の
1から9までの数字は、A、B、Cのように設定された3つの3桁の数字で構成でき、次の関係が必要になります:
B = 2 * A
C = 3 * A

Aに対する考えられるすべての回答を書き留めてください。スペースを使用して番号を区切り、番号を昇順で並べてください。

注:Aの値のみを送信し、フォーマット要件に厳密に従って出力してください。
トピック分析
トピックコード


質疑応答

192 219 273 327

質問4:環状セクションの長さ

タイトルの説明
2つの整数を除算すると、循環小数が生成されることがあります。循環部分は、循環セクションと呼ばれます。
たとえば、11/13 = 6 => 0.846153846153 ...そのループセクションは[846153]で、合計6桁です。
次の方法で、ループセクションの長さを見つけることができます。

コードを注意深く読み、下線部分に不足しているコードを入力してください。

    public static int f(int n, int m)
    {
    
    
        n = n % m;    
        Vector v = new Vector();
        
        for(;;)
        {
    
    
            v.add(n);
            n *= 10;
            n = n % m;
            if(n==0) return 0;
            if(v.indexOf(n)>=0)  _________________________________ ;  //填空
        }
    }

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


質疑応答

return v.size() - v.indexOf(n);

質問5:ダイヤモンドの印刷

タイトルの説明
ひし形の辺の長さを指定し、コンソールにひし形を印刷します。
スペースの比較を容易にするために、スペースをピリオドに置き換えます。
辺の長さが8の場合、ひし形は次のようになります。

.......*
......*.*
.....*...*
....*.....*
...*.......*
..*.........*
.*...........*
*.............*
.*...........*
..*.........*
...*.......*
....*.....*
.....*...*
......*.*
.......*

次のプログラムはこの関数を実装していますが、考え方は少し奇妙です。
コードを注意深く分析し、下線部分に不足しているコードを入力してください。

public class A
{
    
    
    public static void f(int n)
    {
    
    
        String s = "*";
        for(int i=0; i<2*n-3; i++) s += ".";
        s += "*";
    
        String s1 = s + "\n";
        String s2 = "";
        
        for(int i=0; i<n-1; i++){
    
    
            //System.out.println("=>"+s);
            s = "." + _____________________________________ + "*";  //填空
            s1 = s + "\n" + s1;
            s2 += s + "\n";
        }
        System.out.println(s1+s2);        
    }
    
    public static void main(String[] args)
    {
    
    
        f(8);
    }
}

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


質疑応答

s.substring(0, s.length()-3)

6番目の質問:乗算への追加

タイトルの説明
誰もが知っていることです:1 + 2 + 3 +…+ 49 = 1225
ここで、隣接していない2つのプラス記号を乗算記号に変換して、結果を2015にする必要があります。

例:
1 + 2 + 3 +…+ 1011 + 12 +…+ 2728 + 29 +…+ 49 = 2015
は、要件を満たす答えです。

別の考えられる答えを探して、前の位置にある乗算記号の左側にある番号を送信してください(たとえば、10を送信してください)。

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


質疑応答

16

質問7:カードの種類の数

タイトルの説明
シャオミンはカジノXに乗っ取られ、他の3人とトランプをすることを余儀なくされました。
トランプのデッキ(大小の切り札なし、合計52枚)。4人に均等に配布され、それぞれに13枚のカードがあります。
このとき、シャオミンの頭に突然疑問が浮かびました。
スーツを考慮せず、ポイントだけを考慮し、カードの順番を考慮しない場合、最初のカードの組み合わせは何種類手に入れることができますか?

整数を入力してください。余分なコンテンツや説明文は入力しないでください。
トピック分析
トピックコード


質疑応答

3598180

質問8:移動距離

タイトルは
、惑星Xの住宅コミュニティの建物がすべて同じで、マトリックスパターンに配置されていることを示しています。建物の数は1、2、3 ...です。
列がいっぱいになると、次の列の隣接する建物とは反対方向に番号が配置されます。
例:セル番号の幅が6の場合、開始状況は次のようになります。

1 2 3 4 5 6
12 11 10 9 8 7
13 1415…

私たちの問題は次のとおりです。2つの建物番号mとnがわかっているので、それらの間の最短移動距離を見つける必要があります(斜めに移動することはできません)。

入力は、スペースで区切られた3つの整数wmnで、すべて1〜10000の範囲です
。wは行番号の幅、m、nは計算される建物番号です。
mn2つの建物間の最短移動距離を表す整数を出力する必要があります。

次に例を示します。
ユーザー入力:
6 8 2
次に、プログラムは次のように出力します
。4

別の例:
ユーザー入力:
4 7 20
、プログラムは出力する必要があります:
5

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

要件に厳密に従って出力し、「入力してください...」のような余分なコンテンツを過剰に印刷しないでください。

すべてのコードは同じソースファイルに配置されます。デバッグに合格したら、ソースコードをコピーして送信します。
注:packageステートメントは使用しないでください。jdk1.7以降の機能は使用しないでください。
注:メインクラスの名前はMainである必要があります。そうでない場合、無効なコードとして処理されます。
トピック分析
トピックコード


質疑応答

在这里插入代码片

質問9:ベースダイス

タイトルの説明
ギャンブルのATMは、晩年にサイコロに夢中になりました。つまり、サイコロを曲がらずに重ねて、四角い円柱を形成しました。
長期間の観察の後、ATMは安定したサイコロの謎を発見しました:いくつかの数字の顔は互いに反発します!
最初にサイコロを標準化しましょう。1の反対は4、2の反対は5、3の反対は6です。
相互排除のグループがm個あるとすると、各グループの2つの数字の面は互いに近く、サイコロは安定して立ち上がれません。Atmは、サイコロのベースとなるさまざまな方法を計算したいと考えています。
2つの方法で対応する高さのサイコロの対応する番号の方向が同じである場合に限り、サイコロをベースにする2つの方法は同じです。
解が多すぎる可能性があるため、10 ^ 9 +7を法として結果を出力してください。

ATMのサイコロの数を過小評価しないでください〜

「入力フォーマット」
最初の行にある2つの整数nmnは
、サイコロの数を表します。
次のm行には、各行に2つの整数abがあり、aとbを近づけることができないことを示しています。

「出力形式」
の行には数字があります。これは、10 ^ 9 +7を法とする答えを意味します。

「サンプル入力」
21
1 2

「サンプル出力」
544

「データ範囲」
30%データの場合:n <= 5
60%データの場合:n <= 100
100%データの場合:0 <n <= 10 ^ 9、m <= 36

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

要件に厳密に従って出力し、「入力してください...」のような余分なコンテンツを過剰に印刷しないでください。

すべてのコードは同じソースファイルに配置されます。デバッグに合格したら、ソースコードをコピーして送信します。
注:packageステートメントは使用しないでください。jdk1.7以降の機能は使用しないでください。
注:メインクラスの名前はMainである必要があります。そうでない場合、無効なコードとして処理されます。
トピック分析
トピックコード



質問10:災害後の再建

タイトルは
、パールシティにN(<= 50000)の住宅地があり、M(<= 200000)の双方向道路が住宅地間を接続していることを示しています。これらの集落は両方とも、双方向の道路で行くことができます。この状況は、深刻な地震がすべてのM道路を破壊した最近まで続きました。
地震後、Pearはこれらの道路のいくつかを修理する予定です.i番目の道路の修理にはPiの時間がかかります。ただし、Pearはすべてのポイントを接続することを意図していませんが、それらを接続するためにいくつかの特別にラベル付けされたポイントを選択します。
PearにはQ(<= 50000)のクエリがあります。尋ねるたびに、[l、r]の間にあり、mod K = Cであるすべてのポイントを選択し、いくつかのパスを修復して接続します。すべての道路の修理を同時に開始できるため、修理が完了するまでの時間は、最も時間がかかる道路、つまり関係する道路の中でPiの最大値によって異なります。

Pearが各問い合わせに必要な最小時間を計算するのを手伝ってもらえますか?ここでの問い合わせは独立しています。つまり、前回の問い合わせの修理計画は実行されませんでした。

【入力形式】
1行目の正3つの整数N、M、Qは、タイトルにあるような意味を持っています。
次のM線では、各線に3つの正の整数Xi、Yi、Piがあり、XiとYiを結ぶ双方向の道路を示しており、Piの修復には時間がかかります。自己ループがあり、エッジが重い場合があります。1 <= Pi <= 1000000。

次の行Qでは、各行に4つの正の整数Li、Ri、Ki、Ciがあります。これは、今回問題の点が、Mod Ki = Ciの数値を持つ区間[Li、Ri]内のすべての点であることを示します。問い合わせには少なくとも2つのポイントが含まれていることを確認してください。

【出力形式】
Q行を出力します。各行は正の整数で対応する問い合わせへの回答を表します。

【入力例】710
4
1 3 10
2 6 9
4 1 5
3 7 4
3 6 9
1 5 8
2 7 4
3 2 10
1 7 6
7 6 9
1 7 1 0
1 7 3 1
2 5 1 0
3 7 2 1

[サンプル出力]
9
6
8
8

[データ範囲]
20%データの場合、N、M、Q <= 30
40%データの場合、N、M、Q <= 2000
100%データの場合、N <= 50000、M <= 2 * 10 ^ 5、Q <=50000。Pi<= 10 ^6。Li、Ri、Kiはすべて[1、N]の範囲にあり、Ciは[0、Kiに対応)の範囲にあります。

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

要件に厳密に従って出力し、「入力してください...」のような余分なコンテンツを過剰に印刷しないでください。

すべてのコードは同じソースファイルに配置されます。デバッグに合格したら、ソースコードをコピーして送信します。
注:packageステートメントは使用しないでください。jdk1.7以降の機能は使用しないでください。
注:メインクラスの名前はMainである必要があります。そうでない場合、無効なコードとして処理されます。
トピック分析
トピックコード



おすすめ

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