145 条题解

  • -11
    @ 2022-3-28 19:23:04

    上代码:

    #include<bits/stdc++.h>
    using namespace std;
    void dfs(int a,int b,int ans,int flag)
    {
        if(flag){printf("%d",ans);exit(0);}
        dfs(a,b,a+b,flag+1);
        // 加法
    }
    int main()
    {
        string s="";
        getline(cin,s);
        // 输入
        int a=0,b=0,flag=0,fa=1,fb=1;
        // fa:a符号,fb:b符号
        for(int i=0;i<s.size();i++)
        {
            if(s[i]==' ') flag=1;// 遇到空格读下一个数
            if(s[i]=='-') 
            {
                if(flag) fb=-1;
                else fa=-1;
            }
            if(s[i]>='0'&&s[i]<='9')
            {
                if(flag) b=(b<<1)+(b<<3)+(s[i]^48);// b*10+s[i]-'0'
                else a=(a<<1)+(a<<3)+(s[i]^48);// a*10+s[i]-'0'
            }
        }
        dfs(a*fa,b*fb,0,0);
        return 0;
    }
    

    这题还是挺简单的

    • @ 2022-7-25 16:28:42

      不要搞这些花里胡哨的了(你是洛谷的吧)

信息

ID
56
时间
1000ms
内存
1024MiB
难度
1
标签
递交数
9073
已通过
4043
上传者