zoukankan      html  css  js  c++  java
  • 练习整理(1)

    ISBN号码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        string a;
        cin>>a;
        int num=0,sum=0;
        for(int i=0;i<a.length()-1;i++)
        {
            if(a[i]!='-')
            {
                num++;
                sum+=(a[i]-'0')*num;
            }
        }
        char c;
        if(sum%11==10)
        {
            c='X';
        }
        else
        {
            c=sum%11+'0';
        }
        if(c==a[a.length()-1])
        {
            cout<<"Right";
        }
        else
        {
            a[a.length()-1]=c;
            cout<<a;
        }
        return 0;
    } 

    RELU:

    #include<stdio.h>
    
    int relu(int x)
    {
        if(x>=0)return x;
        else return 0;
    }
    
    int main()
    {
        int n;
        int w, score, sum=0;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d %d",&w,&score);
            sum+=w*score;
        }
        printf("%d",relu(sum));
        return 0;
    } 

    Z字形扫描:

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[500][500];
    int main()
    {
        int n,direction=0;
        //0右 1左下 2下 3右上 
        cin>>n;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                cin>>a[i][j];
            }
        }
        int x=0,y=0,sum=1,temp,flag=0;
        cout<<a[0][0]<<" ";
        while(sum<n*n)
        {
            sum++;
            if(direction==0)
            {
                y++;
            } 
            else if(direction==1)
            {
                x++;
                y--;
            }
            else if(direction==2)
            {
                x++;
            }
            else if(direction==3)
            {
                x--;
                y++;
            } 
            cout<<a[x][y]<<" "; 
            if(n%2==0)
            {
                if(x==n-1&&y==0)flag=1;
            }
            else
            {
                if(x==0&&y==n-1)flag=1;
            }
            if((x==0||y==0||x==n-1||y==n-1)&&flag==0) direction=(direction+1)%4;
            else if((x==0||y==0||x==n-1||y==n-1)&&flag==1)direction=(direction+3)%4;
        } 
        return 0;
    }

    卖菜:

    //卖菜
    /*
    #include <bits/stdc++.h>
    using namespace std;
    
    int a[1002]={0}; 
    int main()
    {
        int n,b;
        cin>>n;
        for(int i=1;i<=n;i++)
        cin>>a[i];
        for(int i=1;i<=n;i++)
        {
            if(i==1)
            {
                b=(a[i]+a[i+1])/2;
            }
            else if(i==n)
            {
                b=(a[i-1]+a[i])/2;
            }
            else
            {
                b=(a[i-1]+a[i]+a[i+1])/3;
            }
            cout<<b<<" ";
        }
        return 0;
    } */
    
    #include <bits/stdc++.h>
    using namespace std;
    
    int t[1000000]={0};
    int main()
    {
        int n;
        int min=1000000,max=1;
        int time=0;
        int a,b;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>a>>b;
            if(a<min)min=a;
            if(b-1>max)max=b-1;
            for(int j=a;j<b;j++)
            {
                t[j]++;
            }
        }
        for(int i=0;i<n;i++)
        {
            cin>>a>>b;
            if(a<min)min=a;
            if(b-1>max)max=b-1;
            for(int j=a;j<b;j++)
            {
                t[j]++;
            }
        }
        for(int i=min;i<=max;i++)
        {
            if(t[i]==2)time++;
        }
        cout<<time;
        return 0;
    }

    出现次数最多的数:

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[10001]={0};
    int main()
    {
        int n,t,max=0,j;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>t;
            a[t]++;
            if(a[t]>max)
            {
                max=a[t]; 
            }
        }
        for(j=1;j<=10000;j++)
        {
            if(a[j]==max)break;
        }
        cout<<j;
        return 0;
    } 

    窗口:

    #include <bits/stdc++.h>
    using namespace std;
    
    struct window
    {
        int x1;
        int x2;
        int y1;
        int y2;
        int num;
        int flag;
    };
    struct window win[10];
    
    int main()
    {
        int n,m,x,y;
        window temp;
        cin>>n>>m;
        for(int i=0;i<n;i++)
        {
            cin>>win[i].x1>>win[i].y1>>win[i].x2>>win[i].y2;
            win[i].num=i+1;
            win[i].flag=n-1-i;
        }
        for(int i=0;i<m;i++)
        {
            cin>>x>>y;
            int j;
            for(j=n-1;j>=0;j--)
            {
                if(x>=win[j].x1&&x<=win[j].x2&&y>=win[j].y1&&y<=win[j].y2)
                {
                    cout<<win[j].num<<endl;
                    temp=win[j];
                    for(int t=j;t<n-1;t++)
                    {
                        win[t]=win[t+1];
                    } 
                    win[n-1]=temp;
                    break;
                }
            }
            if(j==-1)cout<<"IGNORED"<<endl;
        }
        return 0;
    } 

    打酱油:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n,result;
        cin>>n;
        if(n<30)
        {
            result=n/10;
        }
        else if(n<50)
        {
            result=4+(n-30)/10;
        }
        else
        {
            result=n/50*7+(n-n/50*50)/30*4+(n-n/50*50-(n-n/50*50)/30*30)/10;
        }
        cout<<result;
        return 0;
    } 
    
        

    俄罗斯方块:

    #include <bits/stdc++.h>
    using namespace std;
    
    int g[16][10];
    int a[4][4];
    int r;
    struct aa
    {
        int x;
        int y;
    };
    int main()
    {
        for(int i=0;i<15;i++)
        {
            for(int j=0;j<10;j++)
            {
                cin>>g[i][j];
            }
        }
        for(int j=0;j<10;j++)
        {
            g[15][j]=1;
        }
        aa temp[4];
        int t=0;
        for(int i=0;i<4;i++)
        {
            for(int j=0;j<4;j++)
            {
                cin>>a[i][j];
                if(a[i][j]==1)
                {
                    temp[t].x=i;
                    temp[t].y=j;
                    t++;
                }
            }
        }
        cin>>r;
        int d;
        int flag=0;
        for(int i=0;i<=15;i++)
        {
            
            for(int j=0;j<4;j++)
            {
                if(g[temp[j].x+i][temp[j].y+r-1]==1)
                {
                    flag=1;
                    d=i;
                    break;
                }
            } 
            if(flag==1)break;
        } 
        
        for(int i=0;i<4;i++)
        {
            g[temp[i].x+d-1][temp[i].y+r-1]=1;
        }
        for(int i=0;i<15;i++)
        {
            for(int j=0;j<10;j++)
            {
                cout<<g[i][j]<<" ";
            }
            cout<<endl;
        }
        return 0;
    } 

    分蛋糕:

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[1000];
    int main()
    {
        int n,k,result=0,sum=0;
        cin>>n>>k;
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        for(int i=0;i<n;i++)
        {
            sum+=a[i];
            if(sum>=k)
            {
                result++;
                sum=0;
            }
        }
        if(sum>0)result++; 
        cout<<result;
        return 0;
    } 

    工资计算:

    #include <bits/stdc++.h>
    using namespace std;
    
    float p[7]={0.03,0.1,0.2,0.25,0.3,0.35,0.45};
    int b[7]={0,1500,4500,9000,35000,55000,80000}; 
    int m[7];
    int main()
    {
        m[0]=3500;
        for(int i=1;i<7;i++)
        {
            m[i]=m[i-1]+(b[i]-b[i-1])*(1-p[i-1]);
        }
        int t,s;
        cin>>t;
        if(t<=3500)
        {
            cout<<t;
            return 0;
        }
        int i;
        for(i=0;i<7;i++)
        {
            if(t<m[i]) break;
        }
        
        s=(t-m[i-1])/(1-p[i-1])+(3500+b[i-1]);
        cout<<s;
        return 0;
    } 

    公共钥匙盒:

    #include <bits/stdc++.h>
    using namespace std;
    
    struct operate
    {
        int flag;
        int key;
        int time;
    };
    
    bool cmp(operate a,operate b)
    {
        if(a.time!=b.time)
        {
            return a.time<b.time;
        }
        else if(a.flag!=b.flag)
        {
            return a.flag<b.flag;
        }
        else
        {
            return a.key<b.key;
        }
    }
    
    int main()
    {
        int n,k,w,s,c;
        int key[1001];
        cin>>n>>k;
        vector <operate> v;
        for(int i=1;i<=n;i++)
        {
            key[i]=i;
        }
        for(int i=0;i<k;i++)
        {
            cin>>w>>s>>c;
            v.push_back({1,w,s});
            v.push_back({0,w,s+c});
        }
        sort(v.begin(),v.end(),cmp);
        for(vector<operate>::iterator it=v.begin();it!=v.end();it++)
        {
            if(it->flag==0)
            {            
                for(int i=1;i<=n;i++)
                {
                    if(key[i]==0)
                    {
                        key[i]=it->key;
                        break;
                    }
                }            
            }
            else
            {
                for(int i=1;i<=n;i++)
                {
                    if(key[i]==it->key)
                    {
                        key[i]=0;
                        break;
                    }
                }    
            }
        }
        for(int i=1;i<=n;i++)
        {
            cout<<key[i]<<" ";
        }
        return 0;
    } 

    红黄绿灯:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        long long light[3],n,a,b,s,result=0;
        cin>>light[0]>>light[2]>>light[1]>>n;
        long long sum=light[0]+light[1]+light[2];
        while(cin>>a>>b)
            if(a==0)result+=b;
            else
            {
                if(a==1)a=0;
                else if(a==3)a=1;
                s=(light[a]-b+result)%sum;
                while(s>=light[a])
                {
                    s-=light[a];
                    a=(a+1)%3;
                }
                b=light[a]-s;
                if(a==0)//红灯 
                   {
                    result+=b;
                }
                else if(a==2)//黄灯 
                {
                    result+=(b+light[0]);
                }
            }
        cout<<result;
        return 0;    
    }     

    画图:

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[101][101]={0};
    int main()
    {
        int n;
        int sum=0;
        int x1,y1,x2,y2;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>x1>>y1>>x2>>y2;
            for(int j=x1+1;j<=x2;j++)
            {
                for(int t=y1+1;t<=y2;t++)
                {
                    if(a[j][t]==0)
                    {
                        sum++;
                        a[j][t]=1;
                    }
                }
            }
        }
        cout<<sum;
        return 0;
    }

    火车购票:

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[20]={0};
    int main()
    {
        int n,p;
        int i;
        cin>>n;
        while(n--)
        {
            cin>>p;
            for(i=0;i<20;i++)
            {
                if(p+a[i]<=5)
                {
                    for(int j=0;j<p;j++)
                    {
                        cout<<i*5+a[i]+1+j<<" ";
                    }
                    cout<<endl;
                    a[i]+=p;
                    break;
                }
            }
            if(i==20)
            {
                for(int j=0;j<20;j++)
                {
                    while(a[j]<5)
                    {
                        ++a[j];
                        cout<<j*5+a[j]<<" ";
                        p--;
                        if(p==0)break;
                    }
                    if(p==0)break;
                }
                cout<<endl;
            }
        }
        return 0;
    } 
  • 相关阅读:
    [Clojure] 包管理器leiningen配置国内镜像仓库
    [Haskell] 为什么列表操作++很昂贵?
    js判断除了空格换行之外是否为空
    iOS上架之隐私信息访问权限(uni-app)
    vue之动态绑定class
    this
    uni-app 上传图片之压缩图片上传
    uniapp无痛刷新token
    jQuery 发送跨域请求(jsonp)
    Document
  • 原文地址:https://www.cnblogs.com/precious112/p/14719937.html
Copyright © 2011-2022 走看看