赞
踩
【输入】
输入数据第一行是一个整数K(K < 100),代表有K组测试数据。 每组测试数据包含两行:第一行是一个整数N(N < 100),代表有N幢建筑。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。
【输出】
对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。
【样例输入】
3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10
【样例输出】
6
6
9
参考答案
【输入】
输入的第一行是两个正整数n和t,用空格隔开,其中1<=n<=20,表示正整数的个数,t为要求的和(1<=t<=1000) 接下来的一行是n个正整数,用空格隔开。
【输出】
和为t的不同的组合方式的数目。
【样例输入】
5 5
1 2 3 4 5
【样例输出】
3
参考答案
#include <bits/stdc++.h>
using namespace std;
int a[25],n,t,ans;
void dfs(int i,int sum){
if(i==n){
if(t==sum){
ans++;
}
return;
}
i++;
dfs(i,sum+a[i]);
dfs(i,sum);
}
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(0,0);
cout<<ans;
return 0;
}
【输入】
输入有两行,每行为一个不超过20个字符的字符串,第一行带通配符,第二行不带通配符
【输出】
如果两者可以匹配,就输出“matched”,否则输出“not matched”
【样例输入】
1*456?
11111114567
【样例输出】
matched
参考答案
【输入】
输入的第一行是一个整数 T (T <= 50) ,表示一共有 T 组数据。 接下来的每组数据,第一行是一个整数 N (1 <= N <= 100, 000) ,表示一共有 N 天。第二行是 N 个被空格分开的整数,表示每天该股票的价格。该股票每天的价格的绝对值均不会超过 1,000,000 。
【输出】
对于每组数据,输出一行。该行包含一个整数,表示阿福能够获得的最大的利润。
【样例输入】
3
7
5 14 -2 4 9 3 17
6
6 8 7 4 1 -2
4
18 9 5 2
【样例输出】
28
2
0
提示:对于第一组样例,阿福可以第 1 次在第 1 天买入(价格为 5 ),然后在第 2 天卖出(价格为 14 )。第 2 次在第 3 天买入(价格为 -2 ),然后在第 7 天卖出(价格为 17 )。一共获得的利润是 (14 - 5) + (17 - (-2)) = 28 对于第二组样例,阿福可以第 1 次在第 1 天买入(价格为 6 ),然后在第 2 天卖出(价格为 8 )。第 2 次仍然在第 2 天买入,然后在第 2 天卖出。一共获得的利润是 8 - 6 = 2 对于第三组样例,由于价格一直在下跌阿福可以随便选择一天买入之后迅速卖出。获得的最大利润为 0
参考答案
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。