比赛链接:Codeforces Global Round 8
目录
比赛链接:Codeforces Global Round 8
A. C+=
题意:给定A,B,N,问经过多少次操作"A += B" 或 “B += A” 能够使得A或B中的任意一个严格大于N。
思路:假定 A < B,不断A += B,直到A > N。
主要代码:
#define LL long long
int main(){
int t;
scanf("%d", &t);
while(t--){
LL a, b, n;
cin >> a >> b >> n;
int ans = 0;
if(a > b) swap(a, b);
while(a <= n && b <= n){
ans++;
a += b;
swap(a, b);
}
cout << ans << endl;
}
return 0;
}
B. Codeforces Subsequences
题意:给定一个K,要求构造出一个字符串,此字符串中与 “codeforces” 相同的子序列个数至少为K个,要求字符串最短。
思路:要求字符串最短所以在构造字符串的时候必定是按照“codeforces”的顺序进行每个字母的构造的,如果 'd' 出现在了 'e' 的后面,这个 'd' 就是无意义的。当字母出现顺序是按照"codeforces"出现时,满足要求的子序列个数为