首页 > 其他分享 >2021CCCC天梯赛

2021CCCC天梯赛

时间:2024-03-10 19:45:36浏览次数:18  
标签:cout int namespace cin vector 天梯 main 2021CCCC

L1模拟+字符串操作,L2读题+简单数据结构,L3题太长没耐心(

L1-1

#include <bits/stdc++.h>
using namespace std;
int main()
{
    puts("To iterate is human, to recurse divine.");
}

L1-2

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c; cin>>a>>b>>c;
    cout<<max(0, a - b * c);
    
}

L1-3

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s; cin>>s;
    if(s.size() == 6) {
        cout<<s.substr(0, 4)<<'-'<<s.substr(4);
    } else {
        int a = stoi(s.substr(0,2));
        if(a < 22) {
            cout<<20<<s.substr(0,2)<<'-'<<s.substr(2);
        } else cout<<19<<s.substr(0,2)<<'-'<<s.substr(2);
    }
}

L1-4

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n; double m; cin>>n>>m;
    for(int i = 0; i < n; ++i) {
        double t; cin>>t;
        if(t < m) {
            cout<<"On Sale! ";
            printf("%.1lf\n",t);
        }
    }
}

L1-5

#include <bits/stdc++.h>
using namespace std;
int main()
{
    vector<int> a(25);
    for(int i = 1; i <= 24; ++i) cin>>a[i];
    int t;
    while(scanf("%d", &t), t >= 0 && t < 24) {
        cout<<a[t + 1]<<' '<<(a[t + 1] > 50 ? "Yes" : "No")<<endl;
    }
}

L1-6

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,m; cin>>n>>m;
    cin.ignore();
    vector<string> s(n);
    for(auto &t: s) getline(cin, t);
    // for(auto &t: s) cout<<t<<endl;
    int now = 0;
    for(auto &t: s) {
        if(t.find("qiandao") == string::npos && t.find("easy") == string::npos) {
            if(now == m) {
                cout<<t<<endl;
                return 0;
            }
            ++now;
        }
    }
    cout<<"Wo AK le"<<endl;
}

L1-7

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n; cin>>n;
    map<int,int> mp;
    for(int i = 0, t; i < n ; ++i) {
        cin>>t; mp[t]++;
    }
    auto pre = *mp.begin(), suf = *mp.rbegin();
    cout<<pre.first<<" "<<pre.second<<endl;
    cout<<suf.first<<" "<<suf.second<<endl;
}

L1-8

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a,b; cin>>a>>b;
    vector<int> v({0, a, b});
    int q; cin>>q;
    int pos = 1;
    while(q--) {
        int s = v[pos] * v[pos + 1];
        string t = to_string(s);
        for(auto &c: t) {
            v.push_back(c - '0');
        }
        cout<<v[pos]<<' ';
        ++pos;
    }
}

L2-1

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,k; cin>>n>>m>>k;
    vector<string> s(n);
    vector<int> p(n, 0);
    for(auto &t: s) cin>>t;
    int a;
    vector<char> st;
    while(scanf("%d", &a), ~a) {
        if(a == 0) {
            if(st.size() != 0) cout<<st.back(), st.pop_back();

        } else {
            --a;
            if(p[a] < m) {
                if(st.size() >= k)
                    cout<<st.back(), st.pop_back();
                st.push_back(s[a][p[a]++]);
            }
        }
    }
}

L2-2

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n; cin>>n;
    vector<vector<int>> g(n);
    vector<int> in(n), d(n), son(n, -1);
    for(int i = 0; i < n ; ++i) {
        int k; cin>>k;
        while(k--) {
            int v; cin>>v; g[i].push_back(v);
            in[v]++;
        }
    }
    int root = 0;
    while(in[root]) ++root;
    auto dfs = [&](auto &&self, int u) -> void {
        son[u] = -1;
        for(auto &y: g[u]) {
            self(self, y);
            int t = d[y];
            if(d[u] < t) son[u] = y;
            else if(t == d[u]) son[u] = min(son[u], y);
            d[u] = max(d[u], t);
        }
        d[u]++;
    };
    dfs(dfs, root);
    cout<<d[root]<<endl;
    cout<<root<<' ';
    while(~son[root]) {
        cout<<(root = son[root])<<' ';
    }
}

L2-3

#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    int n,m; cin>>n>>m;
    map<vector<int>, int> mp;
    for(int i = 0; i < n; ++i) {
        vector<int> t(m);
        for(int j = 0; j < m; ++j) cin>>t[j];
        mp[t]++;
    }
    vector<vector<int>> v;
    for(auto &t: mp) {
        vector<int> a;
        a.push_back(t.second);
        for(auto &x: t.first) a.push_back(x);
        v.push_back(a);
    }
    sort(v.begin(), v.end(),[&](auto pre, auto suf) {
        if(pre[0] != suf[0]) return pre[0] > suf[0];
        else {
            for(int i = 1; i < m + 1; ++i) {
                if(pre[i] != suf[i]) return pre[i] < suf[i];
            }
        }
    });
    cout<<v.size()<<endl;
    for(auto &t: v) {
        for(auto &x: t) cout<<x<<' '; cout<<endl;
    }

}

L2-4

#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    int n,m; cin>>n>>m;
    vector<vector<int>> a(n + 1);
    for(int i = 1; i <= n; ++i) {
        int k; cin>>k;
        while(k--) {
            int x; cin>>x;
            a[i].push_back(x);
        }
    }
    vector<int> cur(121);
    int now = 1;
    for(int i = 1; i <= m; ++i) {
        int op,j; cin>>op>>j;
        if(op == 0) now = a[now][j - 1];
        if(op == 1) {
            cout<<now<<endl;
            cur[j] = now;
        } 
        if(op == 2) {
            now = cur[j];
        }
    }
    cout<<now<<endl;
}

标签:cout,int,namespace,cin,vector,天梯,main,2021CCCC
From: https://www.cnblogs.com/golemon/p/18064642

相关文章

  • 天梯2
    1.红石难题(将红石线路拉成一条一维的线,再用总线路除一个红石源可满足的能量需求范围,不够进一即可)#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;inta[1000000],b[10000000];signedmain(){intn,m;cin>>n>>m;intans=1;for(inti......
  • SUM-ACM天梯赛
    第一次天梯赛:B-B:孵化小鸡题解:二进制枚举所有可能性,一个一个枚举出来,@离散数学,真值表。题目如下:二进制枚举代码如下点击查看代码#include<bits/stdc++.h>usingnamespacestd;intmain(){ intn; cout<<"输入你要枚举的个数"; cin>>n; for(inti=0;i<=(1<<n)-1;i......
  • 天梯选拔赛2补题_2024_03_09
    补题1:奶茶袋收集题意:做法:贪心。之前还做过类似的题,赛时一直想不出来。选择k个连续的的区间,就是需要添加k-1个挡板。问题是挡板设置在哪里?可以发现一个连续线段的max-min等于线段中各个差值之和。如果k=1,那么ans=∑(ai+1-ai);如果k=2,那么需要添加一个挡板。贪心地放,挡板应该放......
  • 2024天梯选拔赛(一)
    2024天梯选拔赛(一)A私人笑声#include<bits/stdc++.h>#definedebug(a)cout<<#a<<"="<<a<<'\n';usingnamespacestd;usingi64=longlong;typedefpair<i64,i64>PII;intmain(){ios::sync_with_stdio......
  • 天梯选拔赛第一场
    B孵化小鸡-SMUOJ题解:因为数据很小我们可以枚举每一个状态然后判断一下是否可以达到孵化的温度即可我们用二进制枚举,一共1<<m相当于2的m次方,用二进制枚举每一个状态//#include<bits/stdc++.h>//#pragmaGCCoptimize("Ofast")#include<iostream>#include<cstdio>#inc......
  • 程序设计天梯赛个人题解 L2-047-2 锦标赛
    题目分析综合题意,将最后一场比赛视为顶层,第一轮比赛视为第一层,则有:下层每场比赛选出一个胜者,每两个下层的胜者间举行本层的一次比赛,显然这是一个二叉树。考虑还原建立每场比赛的树。由于最后一层的比赛是$2^k$个选手参加,故这是个完美二叉树,使用完全二叉树的数组储存方式,则标号......
  • sc2 天梯地图
    没记错的话以前7张ban3张,非常合理,现在9张怎么还是ban3张好哥哥达蒙星际2教学Goldenauraban三四矿近,挂运输机的地方长,架坦克的点位多,ZvT打不了一点Equilibriumban莫名其妙Hecate不敲岩石的话中间的路很窄偏大,没有瞭望塔,难以控图(注意偷矿,多线)主矿下面、二三......
  • Intel 移动CPU天梯榜
    ......
  • 2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛)
    A.AXorBProblem(计数)输入511223输出9说明点击查看代码#include<bits/stdc++.h>#defineIOSios::sync_with_stdio(false);cin.tie(0),cout.tie(0)#defineintlonglongusingnamespacestd;constintN=2e5+10;unordered_map<int,int>......
  • 用天梯赛打开暑假生活的第十五天
    从坐牢到入门的程序设计(15)开始时间2023-07-28 10:01:08结束时间2023-07-28 12:41:42前言:你怎么知道我边逛新生群边刷题(我还洗了个澡)? L1-079天梯赛的善良一、题目编号及题目说明二、程序功能测试及说明这段代码是使用C++编写的一个简单程序,用于统计输入的一组数字中......