2017公式レースコンテストプログラミングUCFローカル

1.Problem A:電気ビル

効果の件名:行動電気料金の分類システム、 1000kWhと以下のファイル料は、一人一人の総電力消費量を考えると、別のファイルの電荷によってオーバー1000kwh、そして一人一人が支払う必要がありますどのくらい尋ねました。

アイデア:ベーシック(シンプル)の各パワーが1000以上であるか否かを判断するための他の質問、そして計算価格と≤1000>価格1000年IF、および最終和を出力します。

ACコード:

書式#include <iostreamの>
名前空間stdを使用。
#define N 50007
)(メインINT
{
int型、B、N、C [N]。
CIN >> B >> N。
以下のために(INT I 0 =; N iが<; I ++){
int型の和= 0。
CIN >> C [i]は、
(C [I]> = 1000){もし
和=×1000 + B *(C [I] -1000)。
coutの<< C [i]は<<」「;
coutの<<合計<<てendl;
}
他{COUT << C [I] <<」「。
COUT << * C [I] << ENDL;}
}
}

2。

問題B:簡体キーボード

タイトル効果:指定された文字プロファイル二つの全ての位置に対応する文字列は、文字列属性に、等しい場合、または文字列に対応する2つの位置が同じ又は隣接する文字列属性が2である場合、又は3.文字列プロパティは、現在2つの文字列プロパティを与えられ、2つの文字列を尋ねています。

この問題に対する解決策のアイデア:各事前近隣関係の缶最初の文字と、もし属性の文字列長さbと等しくない文字列は3でなければなりません。等しい長さ、文字列ABトラバーサルと比較し、対応する位置、およびレコードの数や隣人の数は、最終的な判定出力と等しくなります。(コードは非常に複雑です)

私は考えています:数学の問題に変換し、数学の問題にASIIコード値に対処するのは難しいこの問題を回避アルファベットの文字です

コードは以下の通りであります:

/ *互いに素セットを使用することを望んでいた、後で見つかった...... * /

書式#include <iostreamの>
の#include <文字列>
の#include <cmath>
使用して、名前空間STD;
/ * N#100001は、DEFINE
; [N]父int型
(int型X){int型の検索
中に(!父[X] = X)//独自のルートノード
X =父[X]; //ボス見つけ、探し続けない
戻りXの;
}
ボイドマージ(int型、int型B){
int型A1 =(A)を見つける; //ルートノードが発見された発見ボス
int型B1 =(B)を検索し、
IF(A1 = B1!)//異なるボス、メイン識別するために、
父[A1] = B1を;
} * /
(INTメイン)
{
int型W;
CIN >> Wを、
一方(Wに対して- ){
/ *のための(INT I = ''; I <= 'Z'; I ++){
父[I] = I; //それぞれ独自のヘッド
} * /
ストリングS1、S2、
INT C 、D;
D = C = 0;
CIN >> S1 S2;
INT s1.size A =();
INT B = s2.size()。
(== b)は{場合
ためには(INT iは= 0; I <; I ++){
IF(ABS(S1 [i]は-S2 [I])!= 0){
C = 1。
IF(ABS(S1 [i]は-S2 [I])== 1 || ABS(S1 [i]は-S2 [I])== 9 || ABS(S1 [i]は-S2 [I])== 8つの|| ABS(S1 [i]は-S2 [I])== 10)
続けます。
他{D = 1; COUT << "3" << ENDL;ブレーク;}
}
そう続けます。
}
IF(C == 0)COUT << "1" << ENDL。
そうでなければ(D == 0)であれば{COUT << "2" << ENDL;};
}
他の裁判所未満<< "3" <<てendl;
}
}

おすすめ

転載: www.cnblogs.com/1324a/p/12661870.html