華為2016校招機試験問題(2015年9月)海大午前場(実現コードを含み、運行環境はVS 2010)
説明:2つの文字列を入力し、接続後の出力実行時間制限:無制限メモリ制限:無制限入力:スペースで区切られた2つの文字列を入力します.出力:接続された文字列.サンプル入力:123 abcサンプル出力:123 abc
単純な平均フィルタアルゴリズム
説明:コンピュータはアナログ信号のデータ収集を行う時、よく干渉を受け、読み取ったデータに突然変異を引き起こす.この場合,採取したデータを特殊に処理する必要がある.このテーマは電池電圧のデータ収集をシミュレートし、限定条件は以下の通りである:(1)電池電圧の有効範囲は【3300-4200】であり、3300と4200を含み、無効値は計算時に(2)入力を10組の電池電圧として廃棄する.有効値と無効値を含み、5組の有効電圧ごとに平均値を求め、最終出力値として有効値が5組未満で出力しない(3)出力のフォーマットは「有効電圧群数平均値1平均値2」.平均値が何組かあれば何組か出力しますが、なければ出力しません.(4)計算は直接型全体のデータを考慮すればよく、浮動小数点数を考慮しないで出力する以外、中間はいかなるIOデータの出力の運行時間の制限を必要としない:無制限メモリの制限:無制限入力:10組の電圧、型全体のデータの出力:出力のフォーマットは:“有効電圧の組数の平均値の1の平均値の2”あ、平均値は何組か出力が何組かありますが、なければ出力しません.有効電圧グループ数は必ず出力してください
文字列変換の最小費用
説明:2つの文字列A,Bを与え、A文字列をB文字列に変換する.変換は全部で2つの方式で連続するn文字を削除し、1回の操作費用は2で、連続するm個の文字(増加する文字は何があなたが決めるのです)を増加して、一回の操作費用はm+2で、AをBの最小費用に変えることを求めます.時間制限:無制限運行制限:無制限入力:第1行は1つの正の整数T(1<=T<=10)を入力して、T組のテストデータがあることを表します.各組のテストデータに対して、2行の文字列A、B(文字列長2000を超えず、文字は小文字のみ含む)出力:テストデータのセットごとに、最小費用を表す1行1個の整数を出力します.サンプル入力:
「aaaaaaa」が「bbbbbbbbb」になって前の文字列をすべて削除します.代価は2で、連続したbを3つ増加します.代価は10で、総代価は12です.
3番目の問題のコードは解決してからアップロードすることを実現します.大神が作ったら、アップロードして共有してください.
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1;
string s2;
string str_sum;
cin>>s1>>s2;
str_sum = s1+s2;
cout<< str_sum <<endl;
system("pause");
return 0;
}
単純な平均フィルタアルゴリズム
説明:コンピュータはアナログ信号のデータ収集を行う時、よく干渉を受け、読み取ったデータに突然変異を引き起こす.この場合,採取したデータを特殊に処理する必要がある.このテーマは電池電圧のデータ収集をシミュレートし、限定条件は以下の通りである:(1)電池電圧の有効範囲は【3300-4200】であり、3300と4200を含み、無効値は計算時に(2)入力を10組の電池電圧として廃棄する.有効値と無効値を含み、5組の有効電圧ごとに平均値を求め、最終出力値として有効値が5組未満で出力しない(3)出力のフォーマットは「有効電圧群数平均値1平均値2」.平均値が何組かあれば何組か出力しますが、なければ出力しません.(4)計算は直接型全体のデータを考慮すればよく、浮動小数点数を考慮しないで出力する以外、中間はいかなるIOデータの出力の運行時間の制限を必要としない:無制限メモリの制限:無制限入力:10組の電圧、型全体のデータの出力:出力のフォーマットは:“有効電圧の組数の平均値の1の平均値の2”あ、平均値は何組か出力が何組かありますが、なければ出力しません.有効電圧グループ数は必ず出力してください
#include<iostream>
using namespace std;
const int cn = 10; //10
int main()
{
int data[cn]; //
int aver[cn/5]; //
int cur = 0; //
int i; //
//
for( i = 0; i < cn; i++ )
{
cin>>data[i];
}
int count = 0; // , 5
int temp_sum = 0; //5
for(i = 0; i < cn; i++ )
{
if( data[i]>=3300 && data[i]<= 4200 )
{
count++;
temp_sum += data[i];
}
if( count == 5 )
{
aver[cur] = temp_sum /5;
cur++;
temp_sum = 0;
count = 0;
}
}
// 0
if( cur == 0 )
{
cout<< count <<endl;
return 0;
}
cout << cur <<" ";
for(i = 0; i<cur; i++ )
cout<< aver[i] <<" ";
system("pause");
return 0;
}
文字列変換の最小費用
説明:2つの文字列A,Bを与え、A文字列をB文字列に変換する.変換は全部で2つの方式で連続するn文字を削除し、1回の操作費用は2で、連続するm個の文字(増加する文字は何があなたが決めるのです)を増加して、一回の操作費用はm+2で、AをBの最小費用に変えることを求めます.時間制限:無制限運行制限:無制限入力:第1行は1つの正の整数T(1<=T<=10)を入力して、T組のテストデータがあることを表します.各組のテストデータに対して、2行の文字列A、B(文字列長2000を超えず、文字は小文字のみ含む)出力:テストデータのセットごとに、最小費用を表す1行1個の整数を出力します.サンプル入力:
2
dsafsadfadf
fdfd
aaaaaaaa
bbbbbbbb
サンプル出力:7
12
ヒント:「dsafdfadf」が「fdfd」の最小の代価になる方法の1つは、1、「dsafsadfadf」->「f」が連続する10個を削除し、代価2、「f」->「fdfd」が連続する3個(「dfd」)を増加し、代価3+2=5の合計最小の代価は2+5=7であり、その他の方法は7より小さくない「aaaaaaa」が「bbbbbbbbb」になって前の文字列をすべて削除します.代価は2で、連続したbを3つ増加します.代価は10で、総代価は12です.
3番目の問題のコードは解決してからアップロードすることを実現します.大神が作ったら、アップロードして共有してください.