题意简述
屏幕初始为 。每按一次按钮,每个 变成 ,每个 变成 。求按 次后 、 各有多少个。
解题思路
只需计数,不必真的拼出字符串。设按 次后有 个 、 个 。 产生 个 , 产生 个 与 个 ,于是
从 递推 步即可,数列恰是斐波那契。
时间复杂度为 。
参考代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int k;
cin>>k;
int a=1,b=0;
while(k--)
{
int t=a;
a=b;
b=t+b;
}
cout<<a<<' '<<b<<'\n';
return 0;
}