【第7回ブルーブリッジカップ2016のタイトル】JAVAグループA

1練炭の数

三角錐を形成する練炭の山があります。具体的には、
最初のレイヤー1に1つ、
2番目のレイヤーに1つ3(三角形に配置)、
3番目のレイヤーに1つ6(三角形に配置)、
4番目のレイヤーに1つ10(三角形に配置)、
...
すべての100レイヤーがある場合、その数練炭?

ブリケットの総数を表す数字をご記入ください。
注:提出物は整数である必要があります。追加のコンテンツや説明文を入力しないでください。

2歳の誕生日のキャンドル

あるパーティーは、ある年から毎年バースデーパーティーを開催しており、その度に自分の年齢と同じ数のろうそくを吹き消さなければなりません。

今計算すると、彼は236ろうそくを全部吹き飛ばしました

すみません、彼は誕生日パーティーに何歳ですか?

彼が誕生日パーティーを始めた年齢を記入してください。
注:提出物は整数である必要があります。追加のコンテンツや説明文を入力しないでください。

3ビルディングブロック

Xiaomingは最近デジタルブロックを構築することを好みます。
合計10ブロックがあり、各ブロックに番号が付いてい0~9ます。

ビルディングブロックのルール:
各ビルディングブロックは他の2つのビルディングブロックの上に配置され、以下の2つのビルディングブロック番号よりも大きい必要があります
最後4に、ピラミッドは階層化され、すべてのビルディングブロックを使い切る必要があります。

以下は、2つの修飾メソッドです。

   0
  1 2
 3 4 5
6 7 8 9

   0
  3 1
 7 5 2
9 8 6 4    

そのような方法の総数を計算していただけませんか?

総数を表す数字をご記入ください。
注:提出物は整数である必要があります。追加のコンテンツや説明文を入力しないでください。

4つのサブグループ

9アスリートが競技に参加し、我々は分割する必要がある3グループ予選を。
グループ化オプションとは何ですか?

我々は選手のマークA,B,C,... I
方法をグループ化する次のプログラムのすべてのリストを。

このプログラムの通常の出力は次のとおりです。

ABC DEF GHI
ABC DEG FHI
ABC DEH FGI
ABC DEI FGH
ABC DFG EHI
ABC DFH EGI
ABC DFI EGH
ABC DGH EFI
ABC DGI EFH
ABC DHI EFG
ABC EFG DHI
ABC EFH DGI
ABC EFI DGH
ABC EGH DFI
ABC EGI DFH
ABC EHI DFG
ABC FGH DEI
ABC FGI DEH
ABC FHI DEG
ABC GHI DEF
ABD CEF GHI
ABD CEG FHI
ABD CEH FGI
ABD CEI FGH
ABD CFG EHI
ABD CFH EGI
ABD CFI EGH
ABD CGH EFI
ABD CGI EFH
ABD CHI EFG
ABD EFG CHI

.....(以下では省略、合計560行)

public class A
	{
		public static String remain(int[] a)
		{
			String s = "";
			for(int i=0; i<a.length; i++){
				if(a[i] == 0) s += (char)(i+'A');
			}	
			return s;
		}
		
		public static void f(String s, int[] a)
		{
			for(int i=0; i<a.length; i++){
				if(a[i]==1) continue;
				a[i] = 1;
				for(int j=i+1; j<a.length; j++){
					if(a[j]==1) continue;
					a[j]=1;
					for(int k=j+1; k<a.length; k++){
						if(a[k]==1) continue;
						a[k]=1;
						System.out.println(__________________________________);  //填空位置
						a[k]=0;
					}
					a[j]=0;
				}
				a[i] = 0;
			}
		}
		
		public static void main(String[] args)
		{
			int[] a = new int[9];		
			a[0] = 1;
			
			for(int b=1; b<a.length; b++){
				a[b] = 1;
				for(int c=b+1; c<a.length; c++){
					a[c] = 1;
					String s = "A" + (char)(b+'A') + (char)(c+'A');
					f(s,a);
					a[c] = 0;
				}
				a[b] = 0;
			}
		}
	}

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

注:既存のコンテンツや説明テキストを入力しないでください。

5宝くじ

X惑星は5オブザーバーグループをWスターに送ります
その中でも、
A国はほとんどの4人を送ることができます
B国はほとんどの2を送ることができます
C国はほとんどの2を送ることができます
....

それでは、Wスターへの最後の観測ミッションでは、国の組み合わせはいくつありますか?

次のプログラムはこの問題を解決します。
配列a[] は、各国が送信できる場所の最大数です。
プログラムの実行結果は次のとおりです。

DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
....
(以下省略,总共101行)
public class A
{
	public static void f(int[] a, int k, int n, String s)
	{
		if(k==a.length){ 
			if(n==0) System.out.println(s);
			return;
		}
		
		String s2 = s;
		for(int i=0; i<=a[k]; i++){
			_____________________________;   //填空位置
			s2 += (char)(k+'A');
		}
	}
	
	public static void main(String[] args)
	{
		int[] a = {4,2,2,1,1,3};
		
		f(a,0,5,"");
	}
}

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

注:既存のコンテンツや説明テキストを入力しないでください。

6冬休みの宿題

今、小学校の数学の問題はそれほど楽しくありません。
この冬休みの宿題を見てみましょう:

   □ + □ = □
   □ - □ = □
   □ × □ = □
   □ ÷ □ = □

(表示できない場合は、[図1.jpg]を参照してください)
ここに画像の説明を挿入
各四角は1〜13 の特定の数字を表しますが、繰り返すことはできません。
たとえば、次のとおりです。

 6  + 7 = 13
 9  - 8 = 1
 3  * 4 = 12
 10 / 2 = 5

そして:

 7  + 6 = 13
 9  - 8 = 1
 3  * 4 = 12
 10 / 2 = 5

两种ソリューションさえ(加算、乗算、交換法は異なるスキームを計算します)

ソリューションはいくつ見つかりましたか?

プランの数を表す整数を入力してください。
注:提出物は整数である必要があります。追加のコンテンツや説明文を入力しないでください。

7スタンプを切る

[図1.jpg]に示すように1212干支の切手がつながっています。
ここ5から画像を切り取る場合、要件は継続的でなければなりません。
(1つのコーナーのみが接続されていません)たとえば
、[ 图2.jpg】【图3.jpg】in、ピンクで示されている部分は、適格なカットです。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
カット方法はいくつありますか計算してください。

プランの数を表す整数を入力してください。
注:提出物は整数である必要があります。追加のコンテンツや説明文を入力しないでください。

8球技ゲーム

二人はボールをフェッチするゲームをします。ボール
は全部Nあり、一人ずつ順番にボールを取り、毎回{n1,n2,n3}組でも受け取れます
ボールを取り続けることができない場合、ゲームは終了です。
このとき、奇数のボールを保持しているパーティーが勝利します。
両方が奇数の場合、それは引き分けです。

両方の当事者が最も賢い方法でそれをとるとすると、
最初にボールをとった人が勝ちますか?
この問題を解決するためにプログラミングを試してください。

入力フォーマット
の最初の行3の正の整数n1 n2 n3、別個の空間は、それぞれ、好ましくは数表し(0<n1,n2,n3<100)
の2行目5の正の整数をx1 x2 ... x5、別個の空間は、数5は、初期ボールボードを示します(0<xi<1000)

出力形式:スペースで区切られた
1行5の文字。それぞれのラウンドで最初にボールを取る人が勝つかどうかをそれぞれ示します。
+出力は、勝つことができる
任意の方法のライバルと引き分け、出力場合、続く0
とにかく入力、出力-

たとえば、次のように入力します。

1 2 3
1 2 3 4 5

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

+ 0 + 0 -

別の例として、次のように入力します。

1 4 5
10 11 12 13 15

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

0 - 0 + +

別の例として、次のように入力します。

2 3 5
7 8 9 10 11

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

+ 0 0 0 0

リソースの規則:
ピークメモリ消費(仮想マシンを含む)<256M
CPU消費<3000ms。

9交換ボトル

棚に置かれたN番号の付いたボトルがあり1 ~ Nます。

たとえば5、ボトルがあります:
2 1 3 5 4

毎回2ボトルを拾い、ポジションを交換してもらいます。
数回後、ボトルのシリアル番号は次のとおりです。
1 2 3 4 5

このような単純な状況では、少なくとも交換2リセットできることは明らかです

さらにボトルがある場合はどうなりますか?プログラミングで解決できます。

入力形式は2行です。1行目:ボトルの数を示す
正の整数N(N <10000)
2行目:Nスペースで区切られた、ボトルの現在の配置を示す正の整数。

出力データは、正の整数の行であり、少なくとも何回交換して、ソートを完了するかを示します。

たとえば、次のように入力します。

5
3 1 2 5 4

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

3

別の例として、次のように入力します。

5
5 4 3 2 1

プログラムが出力する必要があります:
2

リソースの規則:
ピークメモリ消費(仮想マシンを含む)<256M
CPU消費<1000ms

10圧縮変換

Xiaomingは現在、圧縮アルゴリズムに取り組んでいます。
彼は、圧縮中に値を小さくすることができれば、エントロピーコーディングによってより高い圧縮率が得られることを知っています。
ただし、値を小さく保つことは困難です。

最近、Xiaomingはいくつかの正の整数のシーケンスを圧縮する必要があります。これらのシーケンスの特徴は、後で出現する数がおそらく出現したばかりの数であることです。この特定のシーケンスでは、Xiaomingはシーケンスに変換を行って、数値の値を減らします。

変換プロセスは次のとおりです。
シーケンスを左から右に列挙し、各列挙を数値に列挙します。数値が表示されていない場合は、数値を反対の数値に変換します。数値が表示されている場合は、元のシーケンスの最後を確認します最初の出現後(現在の番号の前)にいくつかの番号が表示され、元の番号をこの種類の番号に置き換えます。

例えば、配列(a1, a2, a3, a4, a5)=(1, 2, 2, 1, 2)変換処理では:
a1: 1現れない、それはa1なり-1;
a2: 2ていない、それが発生したa2となり-2
a3: 2発生した、元の配列の最後a2に、a2後、a3前にそこ0種類デジタル、それはa3なり0;
a4: 1最終的に、登場します元のシーケンス後a1で、a1後に、a4ある前に1数字の種類は、それがa4なると1
a5: 2元のシーケンスの最後のために、が行われているa3中で、a3a5がある前に、1数字の種類は、それがa5なり1
ここで、元のシーケンスが与えられた場合、この変換ルールに従って変換されるシーケンスは何ですか?

入力フォーマット:入力の
最初の行にnは、シーケンスの長さを示すintegerが含まれています。
2行目にはn、入力シーケンスを示す正の整数が含まれています。

出力フォーマット:変換されたシーケンスを表す、番号
を含む行を出力しますn

たとえば、次のように入力します。

5
1 2 2 1 2

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

-1 -2 0 1 1

別の例として、次のように入力します。

12
1 1 2 3 2 3 1 2 2 2 3 1

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

-1 0 -2 -3 1 1 2 2 0 0 2 2

データのスケールと規則データの
30%の場合、n <= 1000;
データの50%の場合、n <= 30000;
データの100%の場合、1 <= n <= 100000、1 <= ai <= 10 ^ 9

リソース規約:
ピークメモリ消費(仮想マシンを含む)<256M
CPU消費<3000ms

おすすめ

転載: www.cnblogs.com/HoweZhan/p/12678761.html