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

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

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


質問1:三角形の面積

タイトルの説明
を図1に示します。図のすべての小さな正方形の面積は1です。
だから、図の三角形の面積はどうあるべきですか?
三角形の領域に記入してください。冗長な内容や説明文は記入しないでください。
ここに画像の説明を挿入

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



質問2:立方体はそれ自体になります

タイトルの説明
次の現象を観察します。特定の数の立方体ですが、ビット単位の累積はそれ自体と同じです。
1 ^ 3 = 1
8 ^ 3 = 512 5 + 1 + 2 = 8
17 ^ 3 = 4913 4 + 9 + 1 + 3 = 17

1、8、17を含む、このプロパティに適合する正の整数の数を数えてください。

番号を記入してください。冗長な内容や説明文は記入しないでください。
トピック分析
トピックコード



3番目の質問:3匹の羊がルイを提供します

タイトルの説明
次の加算式に従ってください。

      縁起の良い輝き
  +ルイを提供する
   3匹の羊
-------------------オーラを放射する3匹の羊

(位置合わせに問題がある場合は、[図1.jpg]を参照してください)

その中で、同じ漢字は同じ数字を表し、異なる漢字は異なる数字を表します。

「SanyangXianrui」(答えはただ)で表される4桁を記入してください。冗長な内容は記入しないでください。
トピック分析
トピックコード



質問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)  _________________________________ ;  //填空
        }
    }

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



質問5:9つのグループスコア

タイトルの説明
1,2,3 ... 9これらの9つの数字はスコアを形成し、その値は正確に1/3です。どのようにグループ化するのですか?

次のプログラムはこの機能を実装しています。下線部分に不足しているコードを入力してください。

public class A
{
    
    
    public static void test(int[] x)
    {
    
    
        int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
        int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];        
        if(a*3==b) System.out.println(a + " " + b);
    }
    
    public static void f(int[] x, int k)
    {
    
    
        if(k>=x.length){
    
    
            test(x);
            return;
        }
        
        for(int i=k; i<x.length; i++){
    
    
            {
    
    int t=x[k]; x[k]=x[i]; x[i]=t;}
            f(x,k+1);
            _______________________________________       // 填空
        }
    }
    
    public static void main(String[] args)
    {
    
    
        int[] x = {
    
    1,2,3,4,5,6,7,8,9};        
        f(x,0);
    }
}

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



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

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

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

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

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



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

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

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



質問8:飲み物の償還

トピックの説明
LeyangyangBeverageFactoryはプロモーション活動を行っています。キャップが3つあるLeyangyangタイプC飲料の場合、タイプC飲料の別のボトルと交換でき、永久にリサイクルできますが、クレジットは許可されていません。

Xiao Mingがボトルのキャップを無駄にせず、可能な限り活動に参加する場合、最初に購入したnボトルの飲料について、最終的に何本の飲料を入手できるかを計算してください。

入力:購入する飲み物の数を示す整数n(0 <n <10000)
出力:実際に取得した飲み物の数を示す整数

例:
ユーザー入力:
100
プログラムは出力する必要があります:
149

ユーザー入力:
101
プログラムは出力する必要があります:
151

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



質問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 <=
60%の5データ:n <=データの100〜100%
:0 <n <= 10 ^ 9、m <= 36
タイトル分析
コード



質問10:生命の木

タイトルの説明
Xの森で、神は生命の木を創造されました。

彼は、各ツリーの各ノード(リーフはノードとも呼ばれます)に、このポイントの調和値を表す整数をマークしました。
神はこのツリーで空でないノードセットSを選択したいので、Sの任意の2つのポイントa、bに対して、このポイントがそれぞれになるようなポイントシーケンス{a、v1、v2、…、vk、b}があります。列のポイントはSの要素であり、シーケンス内の2つの隣接するポイント間に接続されたエッジがあります。

この前提の下で、神はSの点に対応する整数の合計をできるだけ大きくしたいと望んでおられます。
この最大の合計は、神が生命の木に与えたスコアです。

atmの努力の後、彼は神が各木の各ノードに与えた整数をすでに知っていました。しかし、ATMは計算が苦手なので、効果的に採点する方法がわかりません。彼はあなたが木のスコアを計算するためのプログラムを書く必要があります。

「入力フォーマット」の
最初の行の整数nは、ツリーにn個のノードがあることを意味します。
2行目のn個の整数は、各ノードのスコアを順番に表します。
次のn-1行では、各行に2つの整数u、vが含まれており、uからvへのエッジがあることを示しています。これは木なので、リングはありません。

「出力フォーマット」は
、神によってこの木に与えられたスコアを表す数字を行に出力します

"サンプル入力"
5
1 -2 -3 4 5
4 2
3 1
1 2
2 5

「サンプル出力」
8

「データ範囲」
30%データの場合、n <= 10
100%データの場合、0 <n <= 10 ^ 5、各ノードのスコアの絶対値は10 ^ 6を超えません。

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

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



おすすめ

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