1015 异或(xor) 结论题
链接:https://ac.nowcoder.com/acm/contest/26656/1015
来源:牛客网
题目描述
从前,Apojacsleam家的水族箱里,养了一群热带鱼。
在这几条热带鱼里,Apojacsleam特别喜欢一条叫做TbGx(请勿人肉)的热带鱼,所以每次都让她第一个吃食物。对于每一条鱼,Apojacsleam都有一个顺序,鱼会按照这个顺序排序,越靠前的地位越高。
吃饱喝足是要睡觉的,这是人的刚需,也是鱼的刚需。
如果TbGx吃了Apojacsleam的食物,她就会睡觉(睡觉时长远小于一天)。这时第二条鱼还是饥肠辘辘的,第二条鱼就可以吃掉TbGx,那么第二条鱼又会睡觉......
注意:Apojacsleam养的鱼比Apojacsleam的智商高到不知道哪里去了,他们都是绝顶聪明的;而他们又是极其守规矩的,即他们不会多鱼分食一条鱼或者食物,只是按照顺序吃;当某一条鱼前面的鱼睡着以后,他可以选择不吃这条鱼,那么别的鱼(还活着的)也不会吃这条,即按照顺序的吃。
一开始,水族箱里只有TbGx一条鱼(未成年),但是,一条鱼成长两天就会成年,成年后就可以繁殖(无性繁殖?别问我我不知道),一天能繁殖一个后代。小鱼也会吃鱼的偶!
请问在前n天中,TbGx最多多少天可以吃饭?
Apojacsleam不希望TbGx饿着,所以你必须在1s内回答。
输入描述:
输入数据有多组,每组一个正整数n,意义如“题目描述”
数据组数≤106\leq 10^6≤106
输出描述:
对于每组输入数据,一行输出:
即前n天中,最多有多少天TbGx可以吃饭。
分析
由数据规律,可以看出是 奇数,奇数 ,偶数,只有当偶数天的时候才不能吃,所以 n / 3 * 2 + n % 3
#include<bits/stdc++.h> using namespace std; #define int long long signed main() { int n; while(cin>>n) { cout<< n / 3 * 2 + n % 3 <<endl; } }