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

A.の問題の解決

1.Majestic 10

質問の意味:10より数が大きいほど、水の大部分、感情

ACコード:

#include <入出力ストリーム>
の#define N 10
名前空間stdを使用。
INTのmain()
{
int型N、I、[N]。
cinを>> N;
(N - )、一方{
int型のカウント= 0;
ため(I 1 =; I <= 3; I ++){
CIN >> [I]。
IF([I]> = 10)のカウント++。
}
のためには、(i = 1; I <3; I ++){
COUT << [I] <<」「。
}
COUT << [I] << ENDL。
(== 0をカウント)の場合
はcout <<を"もちろんゼロ" <<てendl;
それ以外の場合(== 1カウント)
はcout << "ダブル" <<てendlを。
それ以外の場合(== 2を数える)
はcout << "ダブル・ダブル" <<てendlを。
他の裁判所未満<<「トリプルダブル」<<てendl;
裁判所未満<< "\ n"は、

II。補充

1. 音素回文

回文文字列が似てますが、多少異なる文字が同じと同等になります。質問の意味

私は何をする互いに素-セットで、学生のアイデアに描画、問題の解決策を理解していませんでした

ACコード:

書式#include <iostreamの>
の#include <文字列>
の#include <cstdioを>
使用して、名前空間STD;
の#define N 100001
int型の父[N];
(int型X){int型の検索
中に(!父[X] = X)//彼らはそのルートノード
X =父[X]; //ボス見つけ、探し続けない
戻りXの;
}
ボイドマージ(int型、int型B){
int型A1 =(A)を見つける; //ルートノードが発見され、ボス見つけるために
INTを検索= B1(B);
(!A1 = B1)IF //異なるボス、メイン識別する
父[A1]を= B1;
}
int型のmain()
{
T、ケース1 = 0 INT;
CIN >> T;
一方、(T- - ){
のprintf( "%位テストケースD:\ N-"、ケース1 ++);
int型W、
W CIN >>;
のための(INT I = 'A'; I <= 'Z'; I ++){
父[ I = I; //それぞれ独自のヘッド
}
ながら(W - ){
チャーQ、P;
Q >> P CIN、
マージ(Q、P);
}
int型M;
CIN >> M;
のための(INT I = 1; I <= M; I ++){
int型1 = R&LT;
文字列s、
CIN >> S;
INT s.size D =();
IF(D == 1){S COUT << << "" << "YES" << ENDL;続行;}
{他
(INT J = 0; J < D / 2、J ++){
!両側で同じで、値が同じで、同じ時間ではないので、IF(父[S [J] =父[S [DJ- 1]]){//この判定はAかどうかを確認するために、あります初期割り当てられる値,,有意セット
R&LT = 0;
COUT S << << "" << "NO" << ENDL;
ブレーク;
}
}
IF(R&LT == 1)COUT S << << "" << "YES" << ENDL;
}
}
COUT << ENDL;
}
}

おすすめ

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