E.暗灭侵蚀题解:

** ** 简单使用贪心模拟即可,每次用最小的a以最大的c为中心向前跳跃此时a变为最大的c+(c-a)重复以上步骤直到有数大于n

ACcode:

#include<bits/stdc++.h>
using namespace std;
int t;
void dfs(int a,int b,int c,int n,int step)
{
    if(a>=n||b>=n||c>=n)
    {
        cout<<step<<endl;
        return;
    }
    int nowx = c+(c-a);
    dfs(b,c,nowx,n,step+1);
}
int main()
{
    cin>>t;
    while(t--)
    {
        int a,b,c,n;
        cin>>a>>b>>c>>n;
        dfs(a,b,c,n,0);
    }
    return 0;
}