头像

Lhh




离线:12小时前



Lhh
6天前

````

include[HTML_REMOVED]

include[HTML_REMOVED]

include[HTML_REMOVED]

include[HTML_REMOVED]

include[HTML_REMOVED]

using namespace std;

int n,m;
int st[10010];

void dfs(int u,int start)
{
if(u>m)
{
for(int i=1;i<=m;i)
{
cout<<st[i]<<” “;
}
puts(“”);
return;
}
for(int i=start;i<=n;i
)
{
st[u]=i;
dfs(u+1,i+1);
st[u]=0;
}
}

int main()

{
cin>>n>>m;

dfs(1,1);

return 0;

}
```



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

Lhh
6天前
#include<iostream>

#include<cstring>

#include<map>

#include<cstdio>

#include<algorithm>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int a=1,b=2;
    int temp;
    if(n==3)
    {
        cout<<0<<" "<<1<<" "<<1<<" ";
    }
    else  if(n==2)
    {
        cout<<0<<" "<<1;
    }
    else  if(n==1)
    {
        cout<<0;
    }
    else
    {
        cout<<0<<" "<<1<<" "<<1<<" "<<2<<" ";
        for(int i=4; i<=n-1; i++)
        {
            temp+=a+b;
            cout<<temp<<" ";
            a=b;
            b=temp;
            temp=0;
        }
        cout<<endl;
    }
    return 0;
}




Lhh
6天前
#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

using namespace std;

int n;
int st[10010];
bool used[10010];

void dfs(int u)
{
    if(u>n)
    {
        for(int i=1;i<=n;i++)
        {
            cout<<st[i]<<" ";
        }
        cout<<endl;
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(!used[i])
        {
            st[u]=i;
            used[i]=true;
            dfs(u+1);
            st[u]=0;
            used[i]=false;
        }
    }
}

int main()

{
    cin>>n;

    dfs(1);

    return 0;
}



Lhh
6天前
#include<iostream>

#include<cstring>

#include<cstdio>

#include<algorithm>

#include<map>

const int N=20;
int st[N];
int n;

using namespace std;

void dfs(int u)
{
    if(u>n)
    {
        for(int i=1;i<=n;i++)
        {
            if(st[i]==1)
            {
                cout<<i<<" ";
            }
        }
        puts("");
        return;
    }
    st[u]=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 95. 费解的开关

Lhh
7天前
#include<iostream>

#include<cstring>

#include<cstdio>

#include<algorithm>

using namespace std;

const int N=6;
char g[N][N],backup[N][N];
int dx[5] = {-1, 0, 1, 0, 0}, dy[5] = {0, 1, 0, -1, 0};

void turn(int x,int y)
{
    for(int i=0;i<5;i++)
    {
       int a=x+dx[i];
       int b=y+dy[i];
       if(a<0||a>5||b<0||b>5){
           continue;
       }
       g[a][b]^=1;
    }
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        for(int i=0;i<5;i++) cin>>g[i];

        int res=10;
        for(int op=0;op<32;op++)
        {
            int step=0;
            memcpy(backup,g,sizeof(g));
            for(int i=0;i<5;i++)
            {
                if(op>>i&1)
                {
                    step++;
                    turn(0,i);
                }
            }
            for(int i=0;i<4;i++)
            {
                for(int j=0;j<5;j++)
                {
                    if(g[i][j]=='0')

                    {
                        step++;
                        turn(i+1,j);
                    }
                }
            }
            bool isdark=false;
            for(int i=0;i<5;i++)
            {
                if(g[4][i]=='0')
                {
                    isdark=true;
                    break;
                }
            }
            if(!isdark) res=min(res,step);
            memcpy(g, backup, sizeof g);
        }
          if (res > 6) res = -1;

        cout << res << endl;
    }
    return 0;
}


活动打卡代码 AcWing 1209. 带分数

Lhh
7天前
#include<cstdio>

#include<cstring>

#include<iostream>

#include<algorithm>

int target;
int a[10];
bool used[10];
int ans;

int calc(int l,int r)
{
    int res=0;
    for(int i=l;i<=r;i++)
    {
        res=res*10+a[i];
    }
    return res;
}

void dfs(int u)
{
    if(u==9)
    {
        for(int i=0;i<7;i++)
        {
            for(int j=i+1;j<8;j++)
            {
                int a=calc(0,i);
                int b=calc(i+1,j);
                int c=calc(j+1,8);
                if(a*c+b==c*target) ans++;
            }
        }
        return;
    }
    for(int i=1;i<=9;i++)
    {
        if(!used[i])
        {  
            used[i]=true;
            a[u]=i;
            dfs(u+1);
            used[i]=false;
        }
    }
}
int main()
{
    scanf("%d",&target);

    dfs(0);

    printf("%d\n", ans);
    return 0;
}



Lhh
8天前
class Solution
{
public:
    int getMissingNumber(vector<int>& nums)
    {
        if(nums.size()==0)
            return 0;
        else if(nums.size()==1)
            return 1;
        int sum=0;
        if(nums[0]==0)
        {

            for(int i=0; i<nums.size(); i++)
            {
                if(nums[i+1]-nums[i]>1)
                {
                    return nums[i]+1;
                    break;
                }
                else
                {
                    sum++;
                }
            }
        }
        if(sum==nums.size())
        {
            return nums[nums.size()-1]+1;
        }
        if(nums[0]!=0)
        {
            return 0;
        }
    }
};




Lhh
9天前
class Solution
{
public:
    int NumberOf1(int n)
    {
        if(n>0)
        {
            int SSSS=0;
            int m;
            int a[100000];
            int k=0;
            while(n)
            {
                m=n%2;
                n/=2;
                a[k++]=m;
            }
            for(int i=0; i<k; i++)
            {
                if(a[k-i-1]==1)
                {
                    SSSS++;
                }
            }
            return SSSS;
        }
        else if(n<0)
        {
            int SSS=0;
            int z=-n;
            int m;
            int a[100000];
            int k=0;
            while(z)
            {
                m=z%2;
                z=z/2;
                a[k++]=m;
            }
            string s;
            for(int i=0; i<32-k; i++)
            {
                s+='1';
            }
            string str;
            for(int i=0; i<k; i++)
            {
                str+=char(abs(a[k-i-1]+48));
            }
            for(int i=0; i<k; i++)
            {
                if(str[i]=='0')
                {
                    str[i]='1';
                }
                else
                {
                    str[i]='0';
                }
            }
            string sss=s+str;
            long long S=0,K=1;
            for(int i=sss.size()-1; i>=0; i--)
            {
                S=K*(int(sss[i])-48)+S;
                K*=2;
            }
            long long M;
            long long A[100000];
            long long k1=0;
            long long SUM=S+1;
            while(SUM)
            {
                M=(SUM)%2;
                (SUM)/=2;
                A[k1++]=M;
            }
            for(int z=0; z<k1; z++)
            {
                if(A[k1-z-1]==1)
                {
                    SSS++;
                }
            }
            return SSS;

        }
        else
        {
            return 0;
        }
    }
};