首页 > 其他分享 >牛客练习赛122 (小白登山记)

牛客练习赛122 (小白登山记)

时间:2024-03-01 21:56:27浏览次数:186  
标签:练习赛 cout int ++ cin 牛客 122 solve using

A.黑白配

思路:

n个学生手心和手背分为2个组求出他们的差直接按题意写即可

Code:

#include <bits/stdc++.h>
    
using namespace std;

int main()
{
    int n, m; cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        int cnt1 = 0, cnt0 = 0;
        for (int j = 0, x; j < m; ++j) {
            cin >> x;
            if (x) cnt1++;
            else cnt0++;
        }
        cout << abs(cnt1 - cnt0) << '\n';
    }
}

  

B.映射

思路:

每个位置的p[a[i]]与b[i]不冲突输出Yes 冲突输出No 按题意来

Code:

#include <bits/stdc++.h>
    
using namespace std;

void solve() {
    int n; cin >> n;
    vector<int> a(n), b(n);
    for (int& i : a) cin >> i;
    for (int& i : b) cin >> i;
    vector<int> p(n + 1, -1);
    for (int i = 0; i < n; i++) {
        if (p[a[i]] == -1 || p[a[i]] == b[i]) {
            p[a[i]] = b[i];
        }
        else {
            cout << "No\n";
            return ;
        }
    }
    cout << "Yes\n";
    return ;
}  

int main()
{
    ios::sync_with_stdio(false); cin.tie(0);cout.tie(0);
    int t; cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

  

C.马走日

思路:

统计马(1, 1)开始可以出现的点的个数
四个特判
我们假设n <= m 我们就会考虑1 2 (3, 3) ..这四个情况

n = 1很明显马跳不动所以是1
n = 2很明显只能在2的区域动 (m + 1) / 2
n = 3 m = 3这个中间取不到
.. n * m    

  

Code:

#include <bits/stdc++.h>
    
using namespace std;
using i64 = long long;

void solve() {
    i64 n, m; cin >> n >> m;
    if (n > m) { swap(n, m); }
    if (n == 1) {
        cout << 1 << '\n';
    }
    else if (n == 2) {
        cout << (m + 1) / 2 << '\n';
    }
    else if (n == 3 && m == 3) {
        cout << 8 << '\n';
    }
    else {
        cout << n * m << '\n';
    }
}

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

  

标签:练习赛,cout,int,++,cin,牛客,122,solve,using
From: https://www.cnblogs.com/youhualiuh/p/18048042

相关文章

  • 代码随想录算法训练营第三十二天 | 45.跳跃游戏II ,55. 跳跃游戏,122.买卖股票的最佳时
     122.买卖股票的最佳时机II 已解答中等 相关标签相关企业 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购......
  • 2024牛客寒假算法基础集训营6 题解 ( A,B,C,D,E,I)
    2024牛客寒假算法基础集训营6题解(A,B,C,D,E,I)A 宇宙的终结题意找到\([l,r]\)区间中有多少数恰好等于三个不同素数的乘积思路数据范围很小,可以考虑暴力,遍历\([l,r]\)区间内每个数,拿每个小于当前数的素数一直往下除,判断是否存在能被恰好3个素数整除的情况代码/********......
  • 2024牛客寒假算法基础集训营5 题解 ( A,C,G,H,I,L,M )
    2024牛客寒假算法基础集训营5题解(A,C,G,H,I,L,M)A mutsumi的质数合数题意有一个由\(n\)个正整数组成的数组,她想知道数组中质数和合数共有几个。思路由质数和合数的定义可知,正整数范围内除\(1\)外,要么是质数要么是合数,本题直接统计不是\(1\)的正整数的个数即可代码......
  • 1224本周补题
    P1142轰炸-洛谷|计算机科学教育新生态(luogu.com.cn)似乎数据有点小,三重循环都能过,也可以整个map然后二次循环枚举最后遍历一次也可以,特别注意的是最开始我枚举的斜率,实际上在题目要求之下需要的是三点共线,只是斜率相等并不能满足题意。#include<bits/stdc++.h>usingnam......
  • 2024牛客寒假算法基础集训营1(补题)
    目录ABCDEFGHIKLAn的范围很小暴力直接\(O(n^3)\)直接做就行。我还傻的统计了一下前后缀,不过怎么写都行这道题。#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#d......
  • 2024牛客寒假算法基础集训营4
    2024牛客寒假算法基础集训营4A 柠檬可乐题意根据给定的\(a\)和\(b\),判断是否\(a\gek\timesb\)思路题意非常直接代码/*******************************|Author:AlwaysBeShine|Problem:柠檬可乐|Contest:NowCoder|URL:https://ac.nowcoder.com/acm/......
  • 牛客周赛 Round 34
    牛客周赛Round34比赛链接感觉比以往难度有些大,但是大佬们该强的还是很强啊小红的字符串生成思路就两个字符,如果字符相同只能组成两种,不同则可以组成四种Code#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineall(x)x.begin()+1,x.end()#de......
  • 2024牛客寒假算法基础集训营6 K 错综的统一 题解
    Question2024牛客寒假算法基础集训营6K错综的统一一个矩阵仅由"r",“e”,“d”组成一个矩阵区域是美丽的,当且仅当:在矩形区域内,任意横向或纵向取一个长度大于\(1\)的连续字串是,该字符串都不是回文的现在有\(Q\)次询问,每次给定一个矩阵,问最少修改多少字符(字符只能修改"r"......
  • 牛客周赛34(A~E)
    A两种情况两个字符相同只有2两个字符不相同4#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#definepiipair<int,int>#definepddpair<double,double......
  • 牛客周赛 Round 34
    牛客周赛Round34小红的字符串生成代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;usingpiii=pair<ll,pair<ll,ll>>;voidsolve()......