头像

章鱼大团子




离线:14小时前


最近来访(0)

活动打卡代码 AcWing 795. 前缀和

已完成


活动打卡代码 AcWing 4644. 求和

#include <iostream>
#include <cstring>

using namespace std;

typedef long long LL;

int main() {
    int n;//输入的个数
    cin>>n;

    LL s1=0,s2=0;

    while(n--)
    {
        int x;
        cin>>x;
        s1+=x,s2+=x*x;
    }
    cout<<(s1*s1-s2)/2;


    return 0;
}

就给我tm的这么写,tmd就是y总牛逼woc


活动打卡代码 AcWing 790. 数的三次方根

//这里填你的代码^^
#include <iostream>

using namespace std;

int main() 
{
    double x;
    cin>>x;
    double l=-10000,r=10000;

    while(r - l > 1e-8)
    {
        double mid = (l + r)/2;
        if(mid * mid *mid >= x) r = mid;
        else l = mid;
    }
    printf("%lf",l);


    return 0;
}
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~



//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~
#include<iostream>

using namespace std;

const int N = 30;
int way[N];
int n,m;

void dfs(int u , int start)
{
    if (u == m + 1)
    {
        for(int i = 1 ; i <= m;i++) 
        {
            cout<<way[i]<<' ';
        }
        cout<<endl;
       return;
    }

   for(int i = start;i <= n;i++)
   {
       way[u]=i;
       dfs(u + 1,i + 1);
       way[u]=0;
   }
}

int main()
{
    cin>>n>>m;

    dfs(1,1);

    return 0;
}



y神真的是yyds啊

#include<iostream>

using namespace std;

const int N = 10;
bool st[N];
int path[N];
int n;

void dfs(int u)
{
    if(u > n)
    {
        for(int i = 1;i <=n;i++)
        {

            cout<<path[i]<<' ';
        }
        cout<<endl;
    }    
    else
    {
        for(int i = 1;i <= n;i++)
        {
            if(!st[i])
            {
                path[u] = i;
                st[i] = true;
                dfs(u + 1);
                st[i] = false;
                path[u] = 0;
            }     
        }
    }


}

int main()
{
    cin>>n;
    dfs(1);
    return 0;
}


活动打卡代码 AcWing 717. 简单斐波那契

//第一种是数组的解法
#include<iostream>

using namespace std;

int main()
{
    int f[46];
    int n;
    cin>>n;

    f[1] = 0;
    f[2] = 1;
    for(int i = 3;i <= n;i++) f[i] = f[i - 1] + f[i - 2];

    for(int i = 1;i <= n;i++) cout<<f[i]<<' ';

    cout<<endl;

    return 0;
}

//第二种优化后,采用两个变量的解法。

#include<iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int a = 0;
    int b = 1;
    for(int i = 1;i <= n;i++)
    {
        cout<<a<<' ';
        int c = a+b;
        a = b;
        b = c;
    }

    return 0;
}



#include<iostream>

using namespace std;

const int N=16;
int n;
int st[N];//记录所用的数字的一个状态,0表示这个数字还没有进行考虑,2表示这个数字被选中了
//1表示没有选择这个数字

void dfs(int u)
{
    if (u > n)
    {
        for (int i = 1;i <= n;i++)
            if(st[i]==1)
            cout<< i <<' ';
        cout<<endl;  
        return;
    }
    st[u] = 2;//2就是表示递归二叉树里这个数字被选中的情况
    dfs(u + 1);
    st[u] = 0;

    st[u] = 1;//没有被选中的情况
    dfs(u + 1);
    st[u] = 0;//还是恢复原状,表示当前数字没有被选中的情况


}

int main(){
    cin>>n;

    dfs(1);

    return 0;
}


新鲜事 原文

AcWing《蓝桥杯C++ AB组辅导课》拼团优惠!https://www.acwing.com/activity/content/introduction/19/group_buy/134698/