头像

NinoNeumannFeuerbach




离线:24天前


最近来访(31)
用户头像
Sherry_4869
用户头像
Woo.
用户头像
浅幽丶奈芙莲
用户头像
fwb
用户头像
长大我要当算法选手
用户头像
SilentTree
用户头像
4_SS.
用户头像
最后一只三脚兽
用户头像
kongla
用户头像
要好好准备CSP啊
用户头像
xiaozd
用户头像
一事无成的twp
用户头像
wangjiayu
用户头像
虚空下的回忆_0
用户头像
insistance
用户头像
佛不穿袈裟_4
用户头像
炽热的
用户头像
Duke_12
用户头像
acwing_1914
用户头像
云衣醉梦

活动打卡代码 AcWing 1551. A + B 和 C

#include <iostream>
using namespace std;
template <typename T>
inline T read()
{
    T sum = 0, fl = 1;
    int ch = getchar();
    for (; !isdigit(ch); ch = getchar())
        if (ch == '-')
            fl = -1;
    for (; isdigit(ch); ch = getchar())
        sum = sum * 10 + ch - '0';
    return sum * fl;
}
int main()
{
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        __int128_t a, b, c;
        a = read<__int128_t>(), b = read<__int128_t>(), c = read<__int128_t>();
        if (a + b > c) cout << "Case #" << i << ": true" << endl;
        else cout << "Case #" << i << ": false" << endl;
    }
}



活动打卡代码 AcWing 1548. 才华与德行

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

const int N = 1e5+10;

struct person{
    string id;
    int competence, ethnicity;
    int total;
    bool operator<(const person &a) const{
        if(total==a.total){
            if(ethnicity==a.ethnicity){
                return id<a.id;
            }
            return ethnicity>a.ethnicity;
        }
        return total>a.total;
    }
};

vector<person> saints, masters, foolish, villains;



int main(){
    int n,l,h;
    cin>>n>>l>>h;
    for(int i = 0;i<n;++i){
        string id;
        int c,e;
        cin>>id>>e>>c;
        if(c>=l && e>=l){
            if(c>=h && e>=h){
                // 圣人
                saints.push_back({id,c,e,c+e});
            }else if(e>=h){
                // 君子
                masters.push_back({id,c,e,c+e});
            }else if(c<h && e>=c){
                // 愚人
                foolish.push_back({id,c,e,c+e});
            }else{
                villains.push_back({id,c,e,c+e});
            }
        }
    }
    sort(saints.begin(),saints.end());
    sort(masters.begin(),masters.end());
    sort(foolish.begin(),foolish.end());
    sort(villains.begin(),villains.end());
    cout<<saints.size()+masters.size()+foolish.size()+villains.size()<<endl;
    for(auto x:saints) cout<<x.id<<' '<<x.ethnicity<<' '<<x.competence<<endl;
    for(auto x:masters) cout<<x.id<<' '<<x.ethnicity<<' '<<x.competence<<endl;
    for(auto x:foolish) cout<<x.id<<' '<<x.ethnicity<<' '<<x.competence<<endl;
    for(auto x:villains) cout<<x.id<<' '<<x.ethnicity<<' '<<x.competence<<endl;


    return 0;
}


活动打卡代码 AcWing 1542. 老鼠和大米

#include <iostream>
#include <cstring>
#include <vector>

using namespace std;

const int N = 1010;

int n, m;
int w[N], ans[N];

int main()
{
    cin >> n >> m;
    for (int i = 0; i < n; i ++ ) cin >> w[i];
    vector<int> cur(n);

    for (int i = 0; i < n; i ++ ) cin >> cur[i];

    while (cur.size() > 1)
    {
        vector<int> next;
        int remain = (cur.size() + m - 1) / m;

        for (int i = 0; i < cur.size();)
        {
            int j = min((int)cur.size(), i + m);

            int t = i;
            for (int k = i; k < j; k ++ )
                if (w[cur[k]] > w[cur[t]])
                     t = k;
            next.push_back(cur[t]);
            for (int k = i; k < j; k ++ )
                if (k != t)
                    ans[cur[k]] = remain + 1;

            i = j;
        }

        cur = next;
    }

    ans[cur[0]] = 1;

    cout << ans[0];
    for (int i = 1; i < n; i ++ ) cout << ' ' << ans[i];
    cout << endl;

    return 0;
}



活动打卡代码 AcWing 1540. 主导颜色

#include<iostream>
#include<unordered_map>
#include<cmath>
using namespace std;
unordered_map<int,int> mp;
int main(){
    int n,m,t;
    cin>>n>>m;
    for(int i = 0;i<m;++i)
        for(int j = 0;j<n;++j){
            cin>>t;
            mp[t]++;
        }
    for(auto x:mp){
        if(x.second>=round((double)m*n/2)){
            cout<<x.first<<endl;
            return 0;
        }
    }
    return 0;
}


活动打卡代码 AcWing 1531. 课程学生列表

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

const int K = 2501;

vector<string> classes[K];

int main(){
    int n,k;
    cin>>n>>k;

    for(int i = 0;i<n;++i){
        string name;
        int k;
        cin>>name>>k;
        for(int j = 0;j<k;++j){
            int t;
            cin>>t;
            classes[t].push_back(name);
        }
    }

    for(int i = 1;i<=k;++i){
        sort(classes[i].begin(),classes[i].end());
        cout<<i<<' '<<classes[i].size()<<endl;
        for(auto x:classes[i]) cout<<x<<endl;
    }


    return 0;
}


活动打卡代码 AcWing 1526. 洗牌机

#include<iostream>
#include<cstring>
using namespace std;

int nums[55],backup[55];
int shuffle[55];
char pre_name[5] = {'S','H','C','D','J'};
int main(){
    int n;
    cin>>n;
    for(int i = 1;i<=54;++i) nums[i] = i;
    for(int i = 1;i<=54;++i) cin>>shuffle[i];
    while(n--){
        memcpy(backup,nums,sizeof nums);
        for(int i = 1;i<=54;++i) nums[shuffle[i]] = backup[i];
    }

    for(int i = 1;i<=54;++i)
        cout<<(nums[i]%13==0?pre_name[nums[i]/13-1]:pre_name[nums[i]/13])<<(nums[i]%13==0?13:nums[i]%13)<<' ';

}


活动打卡代码 AcWing 1525. 独一无二

#include<iostream>
using namespace std;

const int N = 1e5+10;
int map[N];
int nums[N];

int main(){
    int n;
    cin>>n;
    for(int i = 0;i<n;++i)
        cin>>nums[i],map[nums[i]]++;

    for(int i = 0;i<n;++i){
        if(map[nums[i]]==1){
            cout<<nums[i]<<endl;
            return 0;
        }
    }

    puts("None");

    return 0;
}


活动打卡代码 AcWing 1515. U 形 Hello World

#include<iostream>
#include<cstring>
using namespace std;


int main(){
    string str;
    cin>>str;
    int n1 = 0;
    int N = str.length();
    int n2;
    for(n2 = 3;n2<=N;++n2)
        if((N + 2 - n2)%2==0 && (N + 2)<=3*n2) n1 = max(n1,(N + 2 - n2)/2);
    n2 = (N+2-2*n1);
    string l = str.substr(0,n1-1);
    string r = str.substr(n2+n1-1,n1-1);
    string mid = str.substr(n1-1,n2);


    for(int i = 0,j = n1-2;i<n1-1 && j>=0;++i,--j){
        cout<<l[i];
        for(int k = 0;k<n2-2;++k)cout<<' ';
        cout<<r[j]<<endl;
    }

    cout<<mid<<endl;


    return 0;
}


活动打卡代码 AcWing 1486. 排队等候

#include<iostream>
#include<queue>
#include<unordered_map>
using namespace std;

const int N = 21;

queue<int> q[N]; // 记录每个人的结束时间  8:00 记为0 17:00 为540
int n,m,k,Q;
int finish[N];  // 第k队结束的时间


int main(){
    cin>>n>>m>>k>>Q;
    unordered_map<int,int> hash;
    for(int i = 1;i<=k;++i){
        int s;
        cin>>s;  // 每个人需要的时间
        int t = 0;
        for(int j = 0;j<n;++j){
            if(i<=(m*n)){
                if(q[j].size()<q[t].size()) t = j;
            }else{
                if(q[j].front()<q[t].front()) t = j;
            }
        }

        finish[t]+=s;
        if(i>n*m)q[t].pop();
        q[t].push(finish[t]);
        if(finish[t]-s<540) hash[i] = finish[t];
    }

    while(Q--){
        int a;
        cin>>a;
        if(hash.count(a)) printf("%02d:%02d\n",hash[a]/60 + 8,hash[a]%60);
        else puts("Sorry");
    }

    return 0;
}


活动打卡代码 AcWing 1483. 世界杯投注

#include<iostream>
using namespace std;

const int N = 3;

char table[3] = {'W','T','L'}; 
int bet[N];
float bet_rate[N];

int main(){
    float t,res = 1;
    for(int i = 0;i<3;++i){
        float mx_rate = 0;
        for(int j = 0;j<3;++j){
            cin>>t;
            if(mx_rate<t) bet[i] = j, bet_rate[i] = t,mx_rate = t;
        }
        res*=mx_rate;
    }
    for(int i = 0;i<3;++i) cout<<table[bet[i]]<<' ';
    printf("%.2f\n",2*(res*0.65-1));

}