首页 > 其他分享 >2024 江西省赛 ACGHJK

2024 江西省赛 ACGHJK

时间:2024-10-29 15:12:12浏览次数:6  
标签:江西省 cout int ll cin long 2024 const ACGHJK

2024 江西省赛 ACGHJK

A. Maliang Learning Painting

思路:签到,加起来就行了。

// AC one more times
// nndbk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 2e5 + 10;

int main()
{
    ios::sync_with_stdio(false);   cin.tie(nullptr), cout.tie(nullptr);
    ll a,b,c; cin>>a>>b>>c;
    cout<<a+b+c<<"\n";


    return 0;
}

C. Liar

思路:先看当前的和sum和正确的和s,如果是一样的那么最多所有人都是真话。如果sum>s,那么大了,要变小,由于\(-10^4\le a_i\le10^4\)。为了变的次数尽量的少,我们肯定把大的变小会更优。否则把小的变大,直到第一个能跨变的地方(原来sum<s,变到sum>=s)。

// AC one more times
// nndbk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 2e5 + 10;
ll a[N];
int main()
{
    ios::sync_with_stdio(false);   cin.tie(nullptr), cout.tie(nullptr);
  

    ll n,s; cin>>n>>s;
    ll sum = 0;
    for(int i = 1;i <= n; i++)
    {
        ll x; cin>>x;
        a[i] = x;
        sum += x;
    }
    if(sum == s)cout<<n<<"\n";
    else{
        ll cnt = 0;
        sort(a+1,a+1+n);
        if(sum > s)
        {
            for(int i = n;i >= 1; i--)
            {
                sum -= a[i];
                sum += 1e4;
                cnt++;
                if(sum >= s)
                    break;
            }
        }else{
            for(int i = 1;i <= n; i++)
            {
                sum -= a[i];
                sum += (-1e4);
                cnt++;
                if(sum <= s)
                    break;
            }
        }
        cout<<n-cnt<<"\n";   
    }
    return 0;
}

G. Multiples of 5

思路:因为是11进制,很神奇的就是,它的任意次幂的最后一位都是1,我们只需要看有多少个1然后判断就行了。

// AC one more times
// nndbk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 2e5 + 10;

int main()
{
    ios::sync_with_stdio(false);   cin.tie(nullptr), cout.tie(nullptr);
    int t; cin>>t;
    while(t--)
    {
        int n; cin>>n;
        ll ans = 0;
        for(int i = 1;i <= n; i++)
        {
            ll a; char b; cin>>a>>b;
            ll t;
            if(b != 'A')t = b-'0';
            else t = 10;
            // cout<<"t = "<<t<<"\n";
            ans += a*t;
        }
        // cout<<ans<<"\n";

        cout<<(ans%5==0?"Yes\n":"No\n");
    }


    return 0;
}

H.Convolution

// AC one more times
// nndbk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 1e3 + 10;

ll I[N][N];
ll s[N][N];
int main()
{
    ios::sync_with_stdio(false);   cin.tie(nullptr), cout.tie(nullptr);
    int n,m,k,l; cin>>n>>m>>k>>l;

    for(int i = 1;i <= n; i++)
        for(int j = 1;j <= m; j++)
            cin>>I[i][j];

    for(int i = 1;i <= n; i++)
    {
        for(int j = 1;j <= m; j++)
        {
            s[i][j] = s[i-1][j]+s[i][j-1]-s[i-1][j-1]+I[i][j];
        }
    }

    ll ans = 0;

    for(int i = 1;i <= k; i++)
    {
        for(int j = 1;j <= l; j++)
        {
            int x1 = i,y1 = j;
            int x2 = x1 + n - k,y2 = y1 + m - l;
            ll t = s[x2][y2] - s[x1-1][y2] - s[x2][y1-1] + s[x1-1][y1-1];
            // cout<<t<<" ";
            if(t >= 0)ans += t;
            else ans -= t;

        }
        // cout<<"\n";
    }

    cout<<ans<<"\n";
    return 0;
}

J.Magic Mahjong

思路:考的读题,模拟即可。

// AC one more times
// nndbk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 10;

int cntp[N],cnts[N],cntm[N],cntz[N];

int main()
{
    ios::sync_with_stdio(false);   cin.tie(nullptr), cout.tie(nullptr);
  
    int t; cin>>t;
    while(t--)
    {
        memset(cntp,0,sizeof(cntp));
        memset(cnts,0,sizeof(cnts));
        memset(cntm,0,sizeof(cntm));
        memset(cntz,0,sizeof(cntz));

        string str; cin>>str;
        str = "?" + str;
        int idx = 1;
        vector<int>p,s,m,z;
        while(idx <= 28)
        {
            char op = str[idx+1];
            // cout<<"op = "<<op<<"\n";
            if(op == 'p')
                p.push_back(str[idx]-'0');
            else if(op == 's')
                s.push_back(str[idx]-'0');
            else if(op == 'm')
                m.push_back(str[idx]-'0');
            else if(op == 'z')
                z.push_back(str[idx]-'0');
            idx += 2;
        }


        for(auto x : p)
            cntp[x]++;
        for(auto x : s)
            cnts[x]++;
        for(auto x : m)
            cntm[x]++;
        for(auto x : z)
            cntz[x]++;

        // //p
        // for(int i = 1;i <= 9; i++)
        //     cout<<cntp[i]<<" ";
        // cout<<"\n";
        // //s
        // for(int i = 1;i <= 9; i++)
        //     cout<<cnts[i]<<" ";
        // cout<<"\n";
        // //m
        // for(int i = 1;i <= 9; i++)
        //     cout<<cntm[i]<<" ";
        // cout<<"\n";
        // //z
        // for(int i = 1;i <= 9; i++)
        //      cout<<cntz[i]<<" ";
        // cout<<"\n";


        //Thirteen Orphans
        bool ok = true,other = false;
        for(int i = 1 ; i <= 7; i++)
        {
            if(cntz[i] == 0){
                ok = false;
                break;
            }
            if(cntz[i] >= 2)other = true;
        }


        if(cntp[1] == 0 || cntp[9] == 0 || cnts[1] == 0 || cnts[9] == 0 ||  cntm[1] == 0  || cntm[9] == 0)
            ok = false;

        if(cntp[1] >= 2 || cntp[9] >= 2 || cnts[1] >= 2 || cnts[9] >= 2 ||  cntm[1] >= 2  || cntm[9] >= 2)
            other = true;


        if(ok && other)
        {
            cout<<"Thirteen Orphans\n";
            continue;
        }

        //7 Pairs

        int pair = 0;
        //p
        for(int i = 1;i <= 9; i++)
            pair += (cntp[i] >= 2);
        //s
        for(int i = 1;i <= 9; i++)
            pair += (cnts[i] >= 2);
        //m
        for(int i = 1;i <= 9; i++)
            pair += (cntm[i] >= 2);
        //z
        for(int i = 1;i <= 9; i++)
            pair += (cntz[i] >= 2);

        if(pair >= 7)
            cout<<"7 Pairs\n";
        else cout<<"Otherwise\n";
    }

    return 0;
}

K. Magic Tree

其实每次到一个路口都有2中选择,答案就是\(2^{n-1}\)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define MOD 998244353;

int main(){
	int m;cin >> m;
	ll ant = 1;
	for(int i = 0;i < m - 1;i++){
		ant = (ant * 2) % MOD;
	}
	cout << ant;
	return 0;
}

标签:江西省,cout,int,ll,cin,long,2024,const,ACGHJK
From: https://www.cnblogs.com/nannandbk/p/18513324

相关文章

  • 2024 黑龙江省赛 BDIJK
    The19thHeilongjiangProvincialCollegiateProgrammingContestBDIJKB.String思路:连续的3个可以删掉,类似括号匹配,用栈模拟即可。//AConemoretimes//nndbk#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintmod=1e9+7;constin......
  • P11234 [CSP-S 2024] 擂台游戏
    看看了看今年的csps,前三题一眼就秒了,这最后一题想了挺久,还写了快两个小时,要是在正式赛场上估计是要暴毙了,不过好在我已经退役了,希望参赛的选手能有好的发挥题目大意太长了,不写了题解考虑每次加入一个人,然后分析变化的答案经过一些分析,可以发现一些性质1.对于完全没有确定能......
  • CSP-J 2024-T1扑克牌
    方法一:使用二维字符数组存储,利用字符串函数比较去重#include<bits/stdc++.h>usingnamespacestd;intn;chara[62][3];//注意此处第二维数组需要开3否则会出现未知错误intcnt;//用于统计去重后的个数intmain(){ //cout<<strcmp("dd","dd")<<""<<strcmp("......
  • NOIP 模拟赛:2024-10-23
    T1:游戏有\(n\)个关卡,编号\(1\simn\),编号\(i\)的关卡的难度是\(p_i\),其中\(p_1,p_2,\dots,p_n\)是\(1,2,\dots,n\)的一个排列。每一个关卡还定义了一个重要度\(d_i\),它的值等于其中前\(i\)个关卡中的难度最小值,即\(d_i=\min_{j=1}^ip_j\)。玩家需通关每个关......
  • 2024.10.29 人工智能技术学 第六课时
    复习——任务导向RTRI/问题导向RPGS通过引用/po原文,并引用用于回答问题的文章段落。格式:({“引文”:。。。})“内心独白法”——辅助课业可以将不想让学生看到的内容,隐藏地放到一个结构化的格式里,然后再把输出展示给学生,解析一下这段输出。只展示能给学生看到的那部分。评估反......
  • 2024/10/29人工智能课
    一:给大语言模型发阅读材料如果你手边现成有原文,而且长度合适,建议自带原文去找大语言模型①SYSTEMUsetheprovidedarticlesdelimitedbytriplequotestoanswerquestions.Iftheanswercannotbefoundinthearticles,write"Icouldnotfindananswer."请使......
  • 2024年10月28日Github流行趋势
    项目名称:Skyvern-AI/skyvern项目维护者:@ykeremy@wintonzheng@LawyZheng@msalihaltun@suchintan项目介绍:使用LLMs和计算机视觉实现基于浏览器的工作流程自动化。项目star数:8,730项目fork数:566项目名称:anthropics/courses项目维护者:@Colt@alexalbertt@rainl......
  • ChatGPT国内中文版镜像网站整理合集(2024/10/29)
     一、GPT中文镜像站① yixiaai.com 支持GPT4、4o以及o1,支持MJ绘画② chat.lify.vip 支持通用全模型,支持文件读取、插件、绘画、AIPPT③ AIChat 支持GPT3.5/4,4o以及MJ绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创建的备用网站。其主要目......
  • Animate(AN2024)下载
    目录软件简介获取安装包一、AdobeAN软件常用快捷键1.文件操作2.视图操作3.编辑与修改二、AdobeAN软件功能介绍1.绘图与图形编辑2.动画制作3.交互式内容制作三、AdobeAN软件操作指南1.创建项目2.设计图形与动画3.导出与发布软件简介AdobeAnimate......
  • CSP2024游记
    CSP2024游记J组T1,T2,T3一个小时做完,T4两个半小时不会做。S组T1最开始以为是一个线段树,写完了才发现一个循环搞定,浪费一个小时。T2发现算出超速区间后就变成了一个每个区间选一个点的贪心,一个小时做完。T4看了发现不能做,开始做T3。T3先是想了一个非常接近正解的错解,本来改......