NYOJ-79:迎撃ミサイル
6270 ワード
迎撃ミサイル.
出典:NYOJタグ:動的計画参考資料:類似テーマ:http://blog.csdn.net/wingrez/article/details/78137249
タイトル
ある国は敵国のミサイル攻撃を防ぐために、ミサイル迎撃システムを発展させた.しかし、このミサイル迎撃システムには欠陥がある.最初の砲弾は任意の高さに達することができるが、その後、各砲弾は前の砲弾に等しい高さを超えてはならない.ある日、レーダーは敵国ミサイルの襲撃を捉えた.このシステムはまだ試用段階にあるため、1つのシステムしか使わないため、すべてのミサイルを遮断できない可能性がある.
入力
1行目の入力試験データ群数N(1<=N<=10)次の行は、この試験データ群のミサイルmが何個あるかを入力し(1<=m<=20)次の行入力ミサイルが順次飛来する高さであり、すべての高さ値は0より大きい正の整数である.
しゅつりょく
最大遮断可能なミサイル数を出力
入力サンプル
2 8 389 207 155 300 299 170 158 65 3 88 34 65
出力サンプル
6 2
リファレンスコード
出典:NYOJタグ:動的計画参考資料:類似テーマ:http://blog.csdn.net/wingrez/article/details/78137249
タイトル
ある国は敵国のミサイル攻撃を防ぐために、ミサイル迎撃システムを発展させた.しかし、このミサイル迎撃システムには欠陥がある.最初の砲弾は任意の高さに達することができるが、その後、各砲弾は前の砲弾に等しい高さを超えてはならない.ある日、レーダーは敵国ミサイルの襲撃を捉えた.このシステムはまだ試用段階にあるため、1つのシステムしか使わないため、すべてのミサイルを遮断できない可能性がある.
入力
1行目の入力試験データ群数N(1<=N<=10)次の行は、この試験データ群のミサイルmが何個あるかを入力し(1<=m<=20)次の行入力ミサイルが順次飛来する高さであり、すべての高さ値は0より大きい正の整数である.
しゅつりょく
最大遮断可能なミサイル数を出力
入力サンプル
2 8 389 207 155 300 299 170 158 65 3 88 34 65
出力サンプル
6 2
リファレンスコード
#include
int main(){
int N;
scanf("%d",&N);
while(N--){
int m;
scanf("%d",&m);
int arr[m],dp[m];
int i,j;
int res=0;
for(i=0;i<m;i++)
scanf("%d",&arr[i]);
for(i=0;i<m;i++){
dp[i]=1;
for(j=0;j<i;j++){
if(arr[j]>arr[i]){
dp[i]= dp[i]>dp[j]+1 ? dp[i] : dp[j]+1;
}
}
res= res>dp[i] ? res:dp[i];
}
printf("%d
",res);
}
return 0;
}