ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第1期:牛客竞赛语法入门班数组栈、队列和stl习题

2022-01-18 23:02:16  阅读:139  来源: 互联网

标签:std main stl namespace 牛客 int using 习题 include


提纲

 

老子的全排列呢 

使用了next_permutation

【用法总结】C++ STL中 next_permutation函数的用法

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int a[8];
    for(int i=0;i<8;i++){
        a[i]=i+1;
    }
    do{
        for(int i=0;i<8;i++){
            printf("%d ",a[i]);
        }
        printf("\n");
    }while(next_permutation(a,a+8));
    return 0;
}

装进肚子

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef struct node{
    int a;
    int b;
}NUM;
bool cmp(NUM t,NUM y){
    return t.a-t.b>y.a-y.b;
}
int main(){
    NUM p[100005];
    int n,k;
    long long ans=0;
    cin>>n>>k;
    for(int i=0;i<n;i++){
        cin>>p[i].a;
    }
    for(int i=0;i<n;i++){
        cin>>p[i].b;
    }
    sort(p,p+n,cmp);
    for(int i=0;i<k;i++){
        ans+=p[i].a;
    }
    for(int i=k;i<n;i++){
        ans+=p[i].b;
    }
    cout<<ans<<endl;
    return 0;
}

C  牛牛的三角形

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,flag=0;
    cin>>n;
    vector<int> a;
    for(int i=0;i<n;i++){
        int e;
        cin>>e;
        a.push_back(e);
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<n;k++){
                if(i!=j&&j!=k&&k!=i){
                    if(a[i]+a[j]>a[k]&&abs(a[i]-a[j])<a[k]){
                        flag=1;
                        cout<<a[i]<<" "<<a[j]<<" "<<a[k]<<endl;
                        break;
                    }
                }
            }
            if(flag) break;
        }
        if(flag) break;
    }
    if(!flag) cout<<"No solution\n";
    return 0;
}

[NOIP1998]拼数

#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b){
    return a+b>b+a;
}
int main(){
    string s[25];
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>s[i];
    }
    sort(s,s+n,cmp);
    for(int i=0;i<n;i++){
        cout<<s[i];
    }
    cout<<endl;
    return 0;
}

好串 *

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s; int a(0),b(0);
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='a') a++;
        else b++;
        if(a>0&&b>0){
            a--;
            b--;
        }
        if(b>a){
            cout<<"Bad\n";
            return 0;
        }
    }
    if(a>0||b>0) cout<<"Bad\n";
    else cout<<"Good\n";
    return 0;
}

Rails

栈和排序

标签:std,main,stl,namespace,牛客,int,using,习题,include
来源: https://blog.csdn.net/qq_57351574/article/details/122388631

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有