牛客周赛部分题解

比赛地址:牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ

A.小红的对错判断

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long  
#define ull unsigned long long

void solve() {
    string ssr;
    cin>>ssr;
    int a=ssr.length();
    if(a==3)
    {
        if(ssr[0]=='y'||ssr[0]=='Y')
        {
            if(ssr[1]=='e'||ssr[1]=='E')
            {
                if(ssr[2]=='s'||ssr[2]=='S')
                {
                    cout<<"accept"<<endl;
                    return;
                }
            }
        }
    }
    cout<<"wrong answer"<<endl;
} 

signed main() {
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);

    ll t = 1; 
    // std::cin >> t;
    while (t--) {
        solve();
    }
}

B.小红的幂表达

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int x;
    cin >> x;
    cout << x << endl;
    cout<<"="<<x<<"^1"<<endl;
    for(int i=sqrt(x);i>=2;i--)
    {
        int sum=0;
        int j=x;
        while(1)
        {
            if(j%i==0)
            {
                j/=i;
                sum++;
                if(j==1)
                {
                    cout<<"="<<i<<"^"<<sum<<endl;
                    break;
                }
            }
            else
            {
                break;
            }
        }
    }

    return 0;
}

C.小红的前缀询问

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<long long int> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    unordered_map<long long int, int> ssr;
    long long int pairCount = 0;
    vector<long long int> result(n);

    for (int i = 0; i < n; ++i) {
        ssr[a[i]]++;
        int newPairs = ssr[a[i]] - 1;
        pairCount += newPairs;
        result[i] = pairCount;
    }
    for (int i = 0; i < n-1; ++i) {
        cout << result[i] <<" ";
    }
    cout << result[n-1];
    return 0;
}

D.红和小紫的博弈游戏

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

void solve() {
    long long int a, b, c, d;
    cin >> a >> b >> c >> d;
    long long int totalSum = a + b + c + d;
    if (totalSum == 0||totalSum==1) 
    {
        cout << "yukari" << endl;
        return;
    }
    int x=a+d;
    int y=b+c;
    x=min(x,y);
    if(x%2)
    {
        cout << "kou" << endl;
    }
    else
    {
        cout << "yukari" << endl;
    }
    
    
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}
相关推荐
地平线开发者5 小时前
profiler debug 工具用法与高一致性策略
算法·自动驾驶
编程大师哥5 小时前
匿名函数 lambda + 高阶函数
java·python·算法
我叫袁小陌5 小时前
算法解题思路指南
算法
MC皮蛋侠客5 小时前
C++17 多线程系列(五):C++17 并行算法——从串行到并行的零成本迁移
c++·多线程
地平线开发者5 小时前
Conv+BN+Add+ReLU 融合机制简介
算法·自动驾驶
yuanyuan2o26 小时前
模型预训练:Hugging Face Transformers 基础
算法·ai·语言模型·自然语言处理·nlp·深度优先
杨充6 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
妄想出头的工业炼药师6 小时前
GS slam mono
算法·开源
_日拱一卒7 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展