首页 > 其他分享 >牛客周赛 Round 36 (小白练习记)

牛客周赛 Round 36 (小白练习记)

时间:2024-03-10 22:59:07浏览次数:31  
标签:周赛 Code int 小红 36 牛客 mp using include

A.小红的数位删除

思路:

这题简单输出即可

Code:

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

int main() { 
    string s; cin >> s;
    for (int i = 0; i < s.size() - 3; i++) {
        cout << s[i];
    }
    return 0;
}

  

B.小红的小红矩阵构造

思路:

所有元素之和恰好等于x,且每行、每列的异或和全部相等使用set或者map等等都可以储存异或值,按题意来就行

 Code:

#include <bits/stdc++.h>
     
using namespace std;
 
const int N = 1e2 + 5;
int a[N][N], sum, tmp, n, m, x;
set<int> st;
 
int main() {
    cin >> n >> m >> x;
    for (int i = 1; i <= n; i++) {
        tmp = 0;
        for (int j = 1; j <= m; j++) {
            cin >> a[i][j]; sum += a[i][j]; tmp ^= a[i][j];
        }
        st.insert(tmp);
    }
    for (int j = 1; j <= m; j++) {
        tmp = 0;
        for (int i = 1; i <= n; i++) {
            tmp ^= a[i][j];
        }
        st.insert(tmp);
    }
    if (sum == x && st.size() == 1)
        cout << "accepted\n";
    else  
        cout << "wrong answer\n";
    return 0;
}

  

  

C.小红的白色字符串

思路:

1-开头第一个大写,其余小写(len=1也算)

2-所有都是小写

所以从前往后判定即可

Code:

#include <bits/stdc++.h>
    
using namespace std;
    
int main() {
    string s; cin >> s;
    int cnt = 0;
    for (int i = 1; i < s.size(); i++) {
        if (s[i] >= 'A' && s[i] <= 'Z' && s[i - 1] != ' ') {
            cnt++; s[i] = ' ';
        }
    }
    cout << cnt;
    return 0;
}

  

D.小红走矩阵

思路:

一个模板题bfs,能不能到达终点,能就输出最短的长度,不能输出-1

Code:

#include <bits/stdc++.h>
    
using namespace std; 
const int N = 1e3 + 5;

char a[N][N];
bool vis[N][N];
int n, m; 

int dir[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};

bool isVaild(int x, int y) {
    return !vis[x][y] && x >= 1 && x <= n && y >= 1 && y <= m;
}

void bfs() {
    queue<array<int, 3>> q;
    q.push({1, 1, 0});
    vis[1][1] = 1;

    while (!q.empty()) {
        auto [x, y, cnt] = q.front();
        q.pop();
        if (x == n && y == m) {
            cout << cnt;
            return ;
        }
        for (int i = 0; i < 4; i++) {
            int dx = x + dir[i][0];
            int dy = y + dir[i][1];
            if (isVaild(dx, dy) && a[x][y] != a[dx][dy]) {
                vis[dx][dy] = 1;
                q.push({dx, dy, cnt + 1});
            }
        }
    }
    cout << -1;
}

int main() { 
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            cin >> a[i][j];
        }
    }
    bfs();
    return 0;
}

  

E.小红的小红走矩阵

思路:

构造题 由于合法解 有个弯走就符合题意了

Code:

#include <bits/stdc++.h>
    
using namespace std; 
const int N = 1e3 + 5;

char mp[N][N];

int main() { 
    int n, m; cin >> n >> m;
    mp[1][1] = mp[1][2] = 'a';
    mp[2][1] = mp[3][1] = 'b';
    mp[2][2] = mp[2][3] = mp[3][2] = 'c';
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) { 
            if (mp[i][j] == '\0') {
                if ((i + j) % 2 != 0) {
                    mp[i][j] = 'a';
                } else {
                    mp[i][j] = 'b';
                }
            }
            cout << mp[i][j];
        }
        cout << "\n";
    }
    return 0;   
}

  

标签:周赛,Code,int,小红,36,牛客,mp,using,include
From: https://www.cnblogs.com/youhualiuh/p/18065029

相关文章

  • 牛客小白月赛88D
    不是很裸的01背包但是被卡了半天,所以记一下思路(?)对环的计算一般是从0-n-1,这样子转完一圈%n原位置就还是0,方便计算。然后二维dp,第一维表示第几次,第二维表示多少度。 #include<iostream>usingnamespacestd;intn,m;inta[5010];intf[5010][5010];intmain(){cin>......
  • 36. 人物动画
    人物动画状态机设置变量isParry 是否在防御isSleep 是否正在睡觉isDead 是否已经死亡attack 攻击hit 受伤skill 技能状态stand 站立parry_stand 防御hurt 受伤attack_pillow 攻击sleep 睡眠wake 醒来skill 技能death 死亡状态切换站立状态可以......
  • P3670 [USACO17OPEN] Bovine Genomics S 题解
    题意给定\(2\)组字符串,每组\(n\)个,每个字符串包含\(m\)个字符。我们称一个三元组\((i,j,k)\)是合法的,当且仅当第二组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串与第一组的每个字符串中下标为\((i,j,k)\)的字符拼成的字符串均不相等。现在需要你对于给定的......
  • 牛客小白月赛88补题D
    D-我不是大富翁题意:做法:一开始是往贪心方面想,但是很明显,贪不了。又因为走的步先后顺序没影响,可以用dp来写。暴力也差不多。值得注意的点是动力序列可以一边读入一边处理,省了点空间。如果dp[5005][5005]这样开的话会MLE,实际上在dp的过程中,用到的只是i和i-1两行,其余都是多余的。......
  • 牛客小白月赛88 (小白来了)
    A.超级闪光牛可乐思路:n个不同名称第i种提高Wi的诱惑值,之和不小于x就可以捕捉零食不超过1000个超过输出-1不超过输出字符串即可看一眼数据你会发现根本不需要考虑因为Wi的最小值是1所有直接输出任意的即可所有你只要一个ch即可后面直接输出即可不用管其他的Code:#includ......
  • 2023牛客暑期多校训练营2 B Link with Railway Company
    ProblemDescription给你一个\(n\)个节点的树状铁路网络,维护一条边每天需要花费\(c_i\)代价。现在有\(m\)条从\(a_i\)到\(b_i\),每天的盈利为\(x_i\),维护花费为\(y_i\)的路线可以运营。你可以选择一部分路线运营,求每日的最大收益。Input第一行输入两个整数\(n,......
  • CF1436E Complicated Computations 题解
    题目链接:CF或者洛谷关于\(mex\)问题是一个比较久远的问题,有很多经典的方法去解决。本题的\(mex\)是从正整数开始的,不要忽略掉。来讲讲常见的两种解决方案,首先回到题目所问,如果我们暴力地询问:\(1,2,3,4,.....mex\)是否都能由原数组构造出来,对于\(i\)如果它可以由原数组......
  • 2024牛客寒假算法基础集训营3
    A-智乃与瞩目狸猫、幸运水母、月宫龙虾#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingi128=__int128;usingldb=longdouble;#defineinti64usingvi=vector<int>;usingpii=pair<int,int>;usingv......
  • 免费网站统计工具,可统计百度、必应、搜狗、360来源搜索词
    统计鸟官网地址:https://www.tongjiniao.com/站长必备!网站数据统计,流量监测平台提供网站数据统计分析、搜索关键词、流量访问来源等服务深入分析用户点击习惯,为智能化运营网站提供更好的用户体验 目录一、注册账号信息二、添加站点信息三、放置统计代码四、查看统计信息......
  • Vue学习笔记36--VueComponent构造函数
    VueComponent构造函数<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>VueComponent&......