問題へのPythonプログラミングソリューション[ブルーブリッジカップ公式サイト] DAY1-受験環境の導入と誘導訓練

  1. グループ

競争に関係なく、カテゴリの、意図されます。

すべての大学院生、学部の焦点は、一般的な学部や専門学校は、グループに統一賞を招待されています。

  1. 大会スケジュール

全国オーディション所要時間:4時間。

決勝の所要時間:4時間。

組織委員会に詳細なスケジュール情報が優先発表しました。

  1. 競争フォーム

個人戦、一人、一台のマシン、全体のコンピュータベースのテスト。

選手のマシンは競争のLANの舞台上のサーバに接続されています。

プレイヤーの解答プロセスは、(例えばUSB接続など)単位よりもリソースの使用を許可していない、インターネットにアクセスすることはできません。

質問の支払い、リサイクルの選手への回答 - 「ブラウザサーバー」への競争システム。

  1. 出場者のマシン環境

選手のマシン構成:

メモリが少なくない60Gハードディスクよりも、少ない4G以上であるX86互換機、

オペレーティングシステム:のWindows7と上記

プログラミング環境:

コンパイラ:Pythonの3.6.5

エディタ:IDLE(Pythonは、エディタ来ます)

  1. 審査フォーム

コンテストは完全に客観的な質問を受ける権利。

調査結果によると、プレーヤーのスコアリングの基礎への回答を提出しました。

質問の2種類があります。

5.1。結果が空白を埋めます

問題のあるタイトル説明解決策が決定されます。ソリューションは、ブランクの質問を埋めるためにプレーヤーが必要です。

これは、問題解決のプロセスを必要としない、問題解決の制限は(あなたが任意の開発言語やツール、あるいは手動計算を使用することができます)最終的な結果のみを記入する必要はありません手段を。

最終溶液は、文字列または整数であり、最終的な溶液は、ASCII文字を使用して発現させることができます。

5.2。大きな問題のプログラミング

被験体は、入力及び出力フォーマット、サンプルデータ、および問題点を説明するための問題の明確な記述を含みます。

関連するプログラミングの問題は大きな問題は、結果が正しい、およびプログラムの結果によって判断することができます判断する明確な客観的な基準を持っている必要があります。

プレーヤーは、問題の説明、評価の過程で、この問題を解決する(Pythonで書かれた)ライトプログラム基づくべきであるべきプレイヤが標準入力からデータを読み取り、標準出力への最終結果を出力します。

問題の記述が明示的条件と制限が与えられますでは、明確な権限を発行し、プログラムの選手たちは、与えられた条件と制限の下で可能なすべてを解決することができるはずです。

プレイヤーの手続きだけではなく、普遍的なサンプルデータ主体に適用可能であるべきです。

テストケースは、可能な選択アルゴリズムとして、プレーヤーの可能性と効率性を考慮し、データの圧力テストケースを多量に含有していてもよいスコアと、溶液所与のプレーヤーのパフォーマンスをテストします。

  1. 試験問題の範囲

実用上の問題を解決するためのテストプレイヤーの能力に関する質問、結果はフィルイン、プレイヤーは大きなプログラミングの問題のために手計算、ソフトウェア、およびプログラミングソリューションを使用することができ、プレイヤーが唯一の解決するためにプログラムすることができます。

競争はアルゴリズムとデータ構造を利用するために、テストプレイヤーの能力に焦点を当て、多くの質問を効果的に対処するために使用するコンピュータアルゴリズムに必要です。

テストは、次のとおりです。

Pythonプログラミングの基礎:書き込みプログラムにはPythonを使用する機能が含まれています。このセクションでは、文法のないテストプレイヤーの理解を行い、プレイヤーは自分の好きなプログラミング・ステートメントを使用することができます。

コンピュータアルゴリズム:列挙、ソート、検索、集計、貪欲、動的プログラミング、グラフ理論、数論、ゲーム理論、確率論、計算幾何学、文字列アルゴリズム。

データ構造:配列、オブジェクト/構造、文字列、待ち行列、スタック、ツリー、図ヒープ、バランスのとれたツリー/ツリーライン、複雑なデータ構造、ネストされたデータ構造。

  1. 提出の回答

唯一のゲーム時間内に提出した回答内容の選手はすべてのゲームの後に無効で提出を検討するために使用することができます。

プレイヤーは、コードを提出する指定されたテスト・ページを使用していない評価のための基礎として、(メール、Uディスクなど)、他の手段を提出してください。

プレイヤーは、自身のコードを提出する前に、任意の時点でゲームを表示することができ、各質問のために、最後のものだけが保存され、評価の基礎として提出、任意の対象に答えを再提出することができます。競技中は、評価の結果がプレイヤーに表示されません、プレイヤーはフィードバックせずにプログラムをデバッグするために、独自のデータを設計する必要があります。

質問のそれぞれについて、選手たちは、ページ上のコンテンツをコピーして貼り付ける提出する質問に答える必要があります。

Pythonプログラムは評価中に、他の拡張機能をインストールしていない、Pythonのライブラリが付属して使用することができます。

手順は、そのようなシステムの停止などのグラフィックス、システムコールインターフェース、などの任意の他のモジュールを含んでいない、唯一の計算モジュールを含むべきです。システムコールインタフェース用の標準ライブラリによって行われるべきです。

プログラムのソースコード内で参照されるライブラリプログラムに方法で書かれるべきは、ファイリングやプログラムの他の部分の時間内に提出しなければなりません。

  1. スコア

すべての自動採点機を使用しています。

調整プレーヤーのみない点が不正なまたは余分な内容を表示されないスコアとしてフィル・インの結果を得るために、被験者は一解決策が存在することを確実にするために、結果は全く同じでした。

大規模なプログラミングの問題については、評価システムは、プログラムをテストするために、複数の評価データを使用します。それぞれは、対応するデータ評価スコアを有しています。提出されたプレイヤーのプログラムは、各評価データのために、それぞれの入力として実行されます。データの評価のために、プログラムの出力と正しい答えは、プレイヤーが一致し、プレイヤーは評価データというポイントを受け取るある場合。

一般的に与えられたサンプルの入力と出力で用いた評価データ評価の質問は同じではありません。プレイヤーがプログラムを提出する前に、自分のプログラムをテストするために別のデータを使用することをお勧めします。

手順は、出力要件のスペースや改行を含む出力に出力形式によって提出要件に従って厳密にする必要があります。プログラムは、出力形式の要件に従わない場合は、回答間違っていると判断されます。複数の出力コンテンツの出力のプログラムはまた、デバッグ出力を通り、必要な出力形式に従っていない属するので、出力を出力しない余分なコンテンツというくださいノート。

  1. サンプルのご質問

1つのサンプル質問:長方形のカット(ブランク結果に記入)

[問題の説明]

暁明は、彼が材料長方形、正方形の一部を切り出し、そこから矩形の材料の数を有しています。

彼は材料の長方形の部分に直面したとき、彼は常に長方形を残して、最大の正方形の一片うち真ん中ナイフ、カットからカットし、その後、正方形にすべてのカットアップまで、長方形の材料の残りの部分をカット。

例えば、両側の材料であった、ボブが連続3×3,2×2,1×1,1×1 4の正方形を切断します(5×3ともいう)3と5。

今ボブは、それぞれ矩形状材料、長辺324と2019を有しています。暁明は、最終的には正方形の数を削減するのだろうか?

[回答]提出

これは空白の質問で塗りの結果であり、あなただけの計算結果を提出する必要があります。この質問の結果は整数、整数でのみ塗りつぶしへの回答を提出する際に、余分なコンテンツで塗りつぶしが得点しませんです。

注:上記の説明が問題の一部であり、あなたは、プレイヤーがタイトルカットの意味に従ってステップで、そのステップに質問に答えを行うときに直接手カウントし、最終的にいくつかの時間がかかることがあり、長方形のカットアウト、手計算の数を取得することができます。プレイヤー他の方法は、手の数の区分の使用をスピードアップする場合は、時間が少なくてもよいです。あなたがプレーヤーを計算するプログラムを記述する場合は、手の数で発生するエラーを減らすことができます。

この質問への答え:21

サンプル質問2:特別な番号と(大プログラミングの問題)

[問題の説明]

暁には、1,2,9,10を含むように(先頭の0は含まない)、それに関心のデジタル2,0,1,9の数字は、そのような数の1〜40 32、39、40、28の合計を含みます、彼らは574です。

1からnまで、このようなすべての数字とどのくらいだろうか?

[入力形式]

入力行は、整数nを含んでいます。

[出力形式]

整数を含む出力ライン、および条件を満足する数を表します。

[サンプル入力】

40

[サンプル出力]

574

[評価]例の規模とで合意

レビューへの20%が、1≤n≤10使用し、実施します。

50%レビューの実施形態、1≤n≤100使用します。

80%レビューの実施形態、1≤n≤1000使用します。

レビューのために、すべての場合、1≤n≤10000使用。

説明:このタイトルは、プログラミングの問題であり、選手たちは問題を解決するプログラムを作成する必要があります。以下は、得点することができます正しい結果を与えることができますプログラム限り、他のプレイヤーによって書かれた参照プログラムを、提供します。

n = int(input())

ans = 0

for i in range(1,n+1):

    t = i

    ok = False

    while t>0:

        g = t % 10

        if g==2 or g==0 or g==1 or g==9:

            ok = True

        t = t // 10

    if ok:

        ans += i

print(ans)
  1. その他の考慮事項

(1)プレイヤーは詐欺ではなく、参加する資格がなければなりません。資格の問題が発見されたら、その資格を取り消す;レース問題中に見つかった、予選大会をキャンセルし、コンテスト公式サイトで賞の証明書と賞品や宣伝を回復するために、競争の結果をキャンセルし、競争の後に問題を発見しました。

(2)参加者は、組織委員会と競技フィールド機器のケアのための取り決めの命令に従う、裁判所の規律を遵守するため、競技規則を遵守しなければなりません。

人工的な機械スコアの少量を用いて(3)コンテスト+。プレイヤーは答えを提出し、フォームに特別な注意を払う必要があります。質問慎重に入力、出力要件、および例を読み取る必要があり、任意の不要なコンテンツを追加しません。

(4)プレイヤーは、プレイヤー自身によって引き起こされる問題を担当する別のエディタを使用して、デフォルトのエディタのデフォルトのエンコード形式を使用する必要があります。

フィボナッチ数列を訓練取得質問

リソース制限の
制限時間:1.0秒メモリ制限:256.0メガバイトの
ような問題
フィボナッチ数列のための再帰式を:のFn = FN-1 +のFn -2、 F1 = F2 = 1。

nが比較的大きい場合には、Fnは非常に素晴らしいです、そして今、私たちが知りたい、のFnは10007である数で分割されています。

入力形式の
入力は、整数nを含んでいます。
出力フォーマット
出力10007の分割のFn剰余を表す整数を含む一行。
説明:私たちは長い間残りは、のFnの正確な値を計算する必要がなく、その結果を直接計算を引き継ぐために数10007を割ることにより算出されることができるよう、このアウトを把握することができますので、この問題では、答えは、のFnが10007で割って要求することです残りは、多くの場合、最初の元の数を計算し、その後、残りを簡単に取るより。

样例输入
10
样例输出
55
样例输入
22
样例输出
7704

データサイズと表記
1 <= N <= 1,000,000。

x=eval(input())
a=1
b=1
for i in range(x-1):
    a,b=b%10007,(a+b)%10007
print(a)

PS:いくつかのテイクの後未満10007、自身の残り
サークルトレーニングの質問の入力エリア

リソース制限の
制限時間:1.0秒メモリ制限:256.0メガバイトの
問題の説明
円形領域の所定の半径rの円に、。
入力形式の
入力は、整数rを含んでいる円の半径を表します。
出力形式の
実数を含む出力ライン、小数点は、円の面積を示した後、7に丸め。
説明:この問題では、入力は整数であるが、出力は実数です。

実際の出力の問題については、7つの小数点以下の桁数の後に、この質問で要求されるような、そして、あなたのプログラムがあまりにも多く、厳密に出力7小数点以下の桁数でなければならないか、小数点以下の桁数の少なすぎる出力ではない本当の出力、の要件を見て確認してください、それは誤りとみなされます。

本当の問題は、出力が指定されていない場合、丸めは、丸めによって行われています。

入力サンプル
4
サンプル出力
50.2654825
データサイズと表記
1 <= R <= 10000。
プロンプトの
高精度のこの質問は、πの値は、より正確な値をとるべきであることに注意してください。あなたは、このようなPI = ATAN(1.0)* 4として、例えばPI = 3.14159265358979323ため、数式がπを求めるために使用することができる、πを表すために定数を使用することができます 。

r=eval(input())
print("{:.7f}".format(3.14159265358979323*r*r))

開始トレーニングシーケンスの質問を合算

リソース制限の
制限時間:1.0秒メモリ制限:256.0メガバイト
問題の説明
1 + 2 + 3 + ... +評価 N です。
入力形式の
入力は、整数nを含みます。
出力形式の
値を表す整数を含む出力ライン、1 + 2 + 3 + ... + N です。
サンプル入力
4
出力例
10
のサンプル入力
100
説明:あなたはより良いタイトルを行う助けに入力と出力の複数のセットを与えるいくつかのサンプルの質問があります。

前に、すべてのこれらのサンプルの提出に一般的には、ジョブによってテストされることになるが、それはサンプルデータのこれらのセットが正しいプログラムは潜在的なエラーは、まだあなたのスコアを下げるためにつながる可能性が完全に正確であることを意味するものではありません。

サンプル出力
5050
のデータサイズと表記
1 <= N <=10億。
注:してくださいノートここではデータのサイズという。

アイデアは、この方法は、大規模なデータ、この「暴力」タイムアウトに頻繁にリードされたときに、直接、しかし、蓄積するためにループを使用して、この質問を向けることです。この時点では、他の方法を考える必要があります。あなたが入力し、あなたのプログラムとして10億を使用する場合は、あなたのプログラムは、上記の規定に定める時間以内に実行することはできないが、試すことができます。

この場所は、答えの大きさであることは注目に値するのためのもう一つの問題は、あなたが結果を保持するために整数を使用する場合、結果はエラーにつながる、範囲内の整数(int型)のデフォルト言語ではありません。

あなたがCまたはC ++言語を使用していて、printfの出力を使用する準備ができている場合は、あなたのフォーマット文字列は、long long型の整数出力に%I64dを記述する必要があります。

n=eval(input())
print("{:.0f}".format(n*(n+1)/2))
Pythonのサポート動作特性の多数、多くのCの選手よりも簡単、しかし、最も厄介なのpython3.6環境C同じ選手で、人々はまた、使用することができ、それです。WTF

質問誘導訓練A + B問題

リソース制限の
制限時間:1.0秒メモリ制限:256.0メガバイト
問題説明
入力A、B、出力A + B.
説明:「問題の説明」にはこのセクションでは、質問の意味だけでなく、必要なターゲットを提供します。
入力フォーマット
最初の行のスペースで区切られた2つの入力整数を含み、それぞれ、A、B.
説明:「入力形式は、」あなたのプログラムのテストに記載されており、与えられた特定の入力は形式を満たしています。

質問をするとき、あなたは、与えられた特定の入力を使用すると、入力フォーマットで確認する必要はありませんので、入力フォーマットの要件を満たすためにあることを前提とすべきです。過剰のフォーマットが裏目に出る可能性がチェックし、あなたのバグを使用しています。

テスト中に、システムは自動的にあなたのプログラムへの入力データは、あなたが任意のヒントを与えることができないだろう。あなたが入力するように指示されたら、例えば、物の「Aを入力し、B」種類が必要とされていない、この過剰な出力は、あなたのプログラムがエラーと判断されるようになります。

出力フォーマット
A + Bの値を表す整数を含む出力ライン、
説明:あなたのプログラムは、出力形式を満たさなければならないときに、「出力フォーマット」が必要です。

出力では、あなたのプログラムは、より多くの何よりも、フォーマットの要件を満たす必要があります。あまり何もすることはできません、また。出力形式とコンテンツの要件が同じでない場合、アプリケーションは、エラーとしてあなたの出力、中間デバッグ情報、タイミング等に関する統計情報を含むメッセージを判断します。

サンプル入力
1245
説明:「サンプル入力」を示す入力グループを満たす「入力フォーマット」要件の一例。

ここで入力した入力は、あなたのプログラムをテストするために使用することができる唯一の与えられた、テストの時に、あなたのプログラムをテストするために、複数の入力があるでしょう。

サンプル出力
57
の説明:「サンプル出力」を示す出力設定出会う「出力形式」の請求項の一例。

結果は、出力サンプルであり、対応するサンプルが入力され、そのため、あなたは、単に入力と出力のサンプルを使用してプログラムを確認することができます。

サンプルプログラムを介して入力および出力には、必ずしもテスト時に正しい手順ではない、ということを指摘する、試験はデータのセットのロットを用いて行ったが、サンプルデータに限定されるものではありません。そこサンプルデータによりプログラムであってもよいが、テストはまだのみ0だったときに、特殊な場合にのみ、このプログラムではなく汎用性のある類似の例を修正し、おそらくので、再試験した場合に、より多くのデータがあるだろうことエラー。

あなたは関係なく、入力57何であるかを入力のプログラムを記述する場合たとえば、この問題のために、サンプルデータが正しいのですが、入力は1と2に、このプログラムを出力することもできる57、その後、他のデータについては、このプログラムであっても、テストの他のデータ、間違っています。

データサイズと一致
-10000 <= A、B <= 10000。
説明:「データのサイズとの合意は、」主要なパラメータでの質問の範囲を与えられました。

この範囲は、問題解決のために非常に重要であり、異なるデータ範囲が質問につながる解決するためのさまざまなソリューションが必要です。店舗の整数(INT)を用いて、本実施例のA、Bではない範囲で質問には、より大きな場合、INT範囲よりも、大量に保存するために他の方法を検討する必要があります。

いくつかの範囲はそれほど問題は、この範囲を見て、だけでなく、記述問題に注意を払ってくださいときだけでなく、直接に「問題の説明」で都合のよい時間にあります。

ヒント
タイトルを次のようにC ++のソースコードは次のとおりです。

#含める

名前空間stdを使用。

メインINT()
{
int型A、B、
CIN >> A >> B、
COUT << A + B;
戻り0;
}
次のように標題Cのソースコードは次のとおりです。

書式#include <stdio.hに>

INTのmain()
{
int型A、B、
scanfの( "%のDの%のD"、&A、&B);
のprintf( "%のD"、A + B);
戻り0;
}
次のように、この問題のJavaソースコードは、次のとおりです。

輸入java.utilの。*;

メインクラスのパブリック
{
公共の静的な無効メイン(文字列引数[])
{
スキャナスキャナ新しい新しいSC =(System.in);
整数sc.nextInt A =();
整数sc.nextInt B =();
System.out.printlnは( B +);
}
}
注:答えに、ページ「この質問を提出する」ボタンの上をクリックしてください、ページがあなたのペーストが良いコードを書くために、あなたの言語を選択し、コンパイル、コードを提出するページにジャンプしますコードボックスは、その後、「答えを提出する」ボタンをクリックしてください。

システムが自動的に内部結果のリストにあなたのコードとジャンプを分割するために宣告された後、あなたの答えは、あなたが、一般的に、数秒後に、あなたが見ることができ、リストから直接ご提出コードのステータスを確認することができ、システムに提出しました結果はスコアを宣告します。

最初の質問としてタイトルは、あなたが彼らのコードの配信など、過去に直接コードをコピーすることができ、C ++およびJavaコードに迅速に既にあります。

Javaのメインクラス名がメインでなければならない、に特別な注意を払ってください。

txt=input()
a,b=txt.split(" ")
print(int(a)+int(b))
发布了545 篇原创文章 · 获赞 129 · 访问量 4万+

おすすめ

転載: blog.csdn.net/weixin_43838785/article/details/104185844