A-不断减损的时间
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
小红拿到了一个数组,她每次操作可以选择一个偶数除以2,可以操作任意次(也可以不操作)。求最终数组所有元素之和的最小值。
第一行输入一个正整数nnn。 第二行输入nnn个整数aia_iai,代表小红拿到的数组。 1≤n≤1051\le n\le 10^51≤n≤105 −109≤ai≤109-10^9 \leq a_i \leq 10^9−109≤ai≤109
一个整数,代表最终数组所有元素的最小和。
示例1
4 1 2 -3 4
0
数组变成[1,1,-3,1]即可。
//我们有无限次操作可以将偶数除以2或者不操作,记住只能对偶数操作,最后的目的是获得最小值,那么就可以让所有正偶数都降到最低(也就是让它变成奇数)。
#include
using namespace std;
int main(){
long long n,i,a[100005],s=0;
cin>>n;
for(i=0;i>a[i];
if(a[i]>0&&a[i]%2==0)
{
while(a[i]%2!=1)
a[i]/=2;
}
}
for(i=0;i
D- 宿命之间的对决
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
小红和小紫正在玩一个游戏。现在给定一个正整数nnn,小红和小紫轮流操作,每次取nnn的一个因子xxx,使得nnn减去xxx。谁先将nnn减到0谁输。
小红先手操作,她想知道在双方足够聪明的情况下,谁会获得最终的胜利?
一个正整数nnn 1≤n≤10181\leq n \leq 10^{18}1≤n≤1018
如果小红获胜,则输出"kou"。 否则输出"yukari"
示例1
2
kou
小红先手取,只能取1(若取2,则小红直接失败),将nnn变成1。 此时小紫只能取1,所以小红获胜。
//这道题是很简单的,我们需要注意的是减去的数是n的因数,然后每次操作之后,n是更新的,所以n的因数也有改变,而不是一直用最开始n的因数,然后其实你发现他是有规律的,偶数能赢奇数不能,可以自行举例,题目保证了两人足够聪明,也就是不会自杀,或者我们可以说只要有能使得小红赢的办法,那么一定会赢,没有的话,就输,这个时候小紫也一定会抓住机会,最后注意输出,要么直接复制,要么检查清楚,不然真的冤大头,还不断自我怀疑思路和漏掉的细节。
#include
using namespace std;
int main(){
long long n;
cin>>n;
if(n%2==0)cout<<"kou";
else cout<<"yukari";
return 0;
}
F- 迎接终结的寂灭
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
宇宙的终极答案是42是怎么回事呢?宇宙的终极答案相信大家都很熟悉,但是宇宙的终极答案是42是怎么回事呢,下面就让小红带大家一起了解吧。
宇宙的终极答案是42,其实就是小红想知道,大家可能会很惊讶宇宙的终极答案怎么会是42呢?但事实就是这样,小红也感到非常惊讶。
这就是关于宇宙的终极答案是42的事情了,大家有什么想法呢,欢迎在评论区告诉小红一起讨论哦!
小红拿到了一个计算式,请你帮她计算宇宙的终极答案。
一个字符串,代表小红拿到的计算式。
一个整数,代表宇宙的终极答案。
示例1
5*8+2
42
示例2
(3↑↑2)-sqrt(4!-2^3)*3+(3↑↑2)
42
示例3
the true answer of universe
42
//题目没看出什么,看到第一个样例的时候以为是读取字符,然后进行加减乘除操作,看到后面,就是一个输入加一个固定输出。
#include
using namespace std;
int main(){
string s;
getline(cin,s);
cout<<"42";
return 0;
}