A.牛牛扔牌

链接:https://ac.nowcoder.com/acm/contest/6219/A
来源:牛客网

题目描述

牛牛现在有n张扑克牌,每张扑克牌都有点数和花色两部分组成。点数为‘1’-‘9’的正整数,花色为'C','D','H','S''其中的一个,分别表示梅花、方块、红桃、黑桃。现在牛牛想按一定的顺序把这n张牌扔掉。扔牌顺序的规则如下1.:

1.如果现在还剩素数张牌,则将牌顶的牌扔掉

2.如果现在还剩非素数张牌,则将牌底的牌扔掉

牛牛想知道他的扔牌顺序是什么,请返回扔牌顺序的字符串

思路:

直接模拟就行了。

class Solution {
public:/*** * @param x string字符串 字符串从前到后分别是从上到下排列的n张扑克牌* @return string字符串*/int is_prime(int num){if (num == 1)return false;for (int i = 2; i < num; i++){if (num % i == 0)return false;}return true;}string Orderofpoker(string x) {cin >> x;deque<string>dq;for (int i = 0; i < x.size(); i += 2){if (i == x.size() - 1)continue;string z = x.substr(i, 2);dq.push_back(z);}string ans;while (!dq.empty()){int num = dq.size();if (!is_prime(num)){ans += dq.back();dq.pop_back();}else{ans += dq.front();dq.pop_front();}}return ans;}
};

B.疯狂过山车

链接:https://ac.nowcoder.com/acm/contest/6219/B
来源:牛客网

题目描述

今天牛牛去游乐园玩过山车项目,他觉得过山车在上坡下坡的过程是非常刺激的,回到家之后就受到启发,想到了一个问题。如果把整个过山车的轨道当作是一个长度为n的数组num,那么在过山车上坡时数组中的值是呈现递增趋势的,到了最高点以后,数组中的值呈现递减的趋势,牛牛把符合这样先增后减规律的数组定义为金字塔数组,请你帮牛牛在整个num数组中找出长度最长的金字塔数组,如果金字塔数组不存在,请输出0。

思路:

维护两个数组,一个L表示从前到当前位置的最长连续递增长度,R表示从后到当前最长连续递增长度。

class Solution {
public:/*** * @param n int整型 * @param num int整型vector * @return int整型*/int getMaxLength(int n, vector<int>& num) {vector<int>L, R;R.resize(n + 10);L.resize(n + 10);int ans = 0;vector<int>v = num;int last = -1, cnt = 0;for (int i = 1; i <= n; i++){int z = v[i - 1];v.push_back(z);if (z > last)cnt++;elsecnt = 1;L[i] = cnt;last = z;}last = v[n - 1];R[n] = 1;cnt = 1;for (int i = n - 2; i >= 0; i--){if (v[i] > last)cnt++;elsecnt = 1;R[i + 1] = cnt;last = v[i];}ans = 0;for (int i = 1; i <= n; i++){ans = max(L[i] + R[i] - 1, ans);}return ans;}
};

C.牛牛的棋盘

链接:https://ac.nowcoder.com/acm/contest/6219/C
来源:牛客网

题目描述

牛牛最近在家里看到一个棋盘,有n*m个格子,在棋盘旁边还放着k颗棋子,牛牛想把这k颗棋子全部放在n*m的棋盘上,但是有一个限制条件:棋盘的第一行、第一列、最后一行和最后一列都必须有棋子。牛牛想知道这样的棋子放法到底有多少种,答案需要对1e9+7取模。

思路:

四个角比较特殊,枚举四个角的情况,再枚举第一行第一列,最后一行最后一列的个数,剩下的直接组合数计算即可。

typedef long long ll;
class Solution {
public:/**** @param n int整型* @param m int整型* @param k int整型* @return int整型*/static const int mod = 1e9 + 7;ll C[1010][1010];void init(){C[0][0] = C[1][0] = C[1][1] = 1;for (int i = 2; i <= 1000; i++){C[i][0] = 1;for (int j = 1; j <= i; j++)C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % mod;}}int solve(int n, int m, int k){init();int u, v, w, x;ll ans = 0;for (int sta = 0; sta < (1 << 4); sta++){u = v = w = x = 0; //看下第一行最后一行一列,第一列最后一列有没有int zs = bool(sta & (1 << 0));//左上int ys = bool(sta & (1 << 1));//右上int zx = bool(sta & (1 << 2));//左下int yx = bool(sta & (1 << 3));//右下if (zs)u++, w++;if (ys)u++, x++;if (zx)v++, w++;if (yx)v++, x++;for (int a = 0; a <= m - 2; a++) //第一行{for (int b = 0; b <= m - 2; b++) //最后一行{for (int c = 0; c <= n - 2; c++)//第一列{for (int d = 0; d <= n - 2; d++)//最后一列{if (!a && !u)continue;if (!b && !v)continue;if (!c && !w)continue;if (!d && !x)continue;int last = k - (zs + ys + zx + yx + a + b + c + d);//剩余if (last < 0)continue;ans = (ans + C[(n - 2) * (m - 2)][last] * C[m - 2][a] % mod * C[m - 2][b] % mod * C[n - 2][c] % mod * C[n - 2][d] % mod) % mod;}}}}}return ans;}
};

牛客编程巅峰赛S1第2场 - 青铜白银相关推荐

  1. 牛客编程巅峰赛S2第10场 - 青铜白银黄金题解报告

    文章目录 数学实验 奇怪的排序问题 XOR和 总结 数学实验 数学实验题目链接 题目描述 牛牛在做数学实验. 老师给了牛牛一个数字 nnn (1≤n≤10181≤n≤10^{ 18}1≤n≤1018) ...

  2. 牛客编程巅峰赛S1第7场 - 黄金钻石A-B-C

    比赛链接:牛客编程巅峰赛S1第7场 - 黄金&钻石 文章目录 A.牛牛打怪兽 DFS B.牛牛的冰激凌 贪心 C.数列求值 矩阵快速幂 A.牛牛打怪兽 DFS 题意 身为屯里第一剑士的牛牛来到 ...

  3. 牛客编程巅峰赛S1第6场 - 黄金钻石王者(总结)

    牛客编程巅峰赛S1第6场 - 黄金&钻石&王者(总结) A:牛牛爱奇数 题意 有一个由n个元素组成的数组,牛牛想要将所有的数都变成奇数(即:将所有的偶数都变成奇数),但是他的操作是:一 ...

  4. 牛客编程巅峰赛S1第2场 - 黄金钻石 1.规律 2.bfs

    链接:https://ac.nowcoder.com/acm/contest/6357/A 来源:牛客网 题目描述 牛牛重新定义了斐波那契数列,牛牛定义f(n) = f(n-1)+f(n+1); f( ...

  5. 牛客编程巅峰赛S1第3场 - 黄金钻石 A.简单题 B.dfs C.并查集

    链接:https://ac.nowcoder.com/acm/contest/6383/A 来源:牛客网 找卧底 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...

  6. 牛客编程巅峰赛S1第7场 - 黄金钻石 A.dfs B.dpC.快速幂

    链接:https://ac.nowcoder.com/acm/contest/6631/A 来源:牛客网 题目描述 题意 身为屯里第一剑士的牛牛来到训练场里闯关,由于过于勤奋,牛牛的宝剑的耐久度降到了 ...

  7. 牛客编程巅峰赛S1第6场 - 黄金钻石王者 C.dijkstra

    链接:https://ac.nowcoder.com/acm/contest/6629/C 来源:牛客网 题目描述 牛牛和牛妹在进行一场星球模拟游戏,游戏规则如下: 游戏地图内共有n个星球,共有m条隧 ...

  8. 牛客编程巅峰赛S1第6场 - 黄金钻石王者题解

    牛牛爱奇数 链接:https://ac.nowcoder.com/acm/contest/6629/A 来源:牛客网 题目描述 在牛牛面前放着n个数,这些数字既有奇数也有偶数,只不过牛牛对奇数情有独钟 ...

  9. 算法题解 - 牛客编程巅峰赛S1第3场 - 黄金钻石组

    A. 找卧底 题目描述 牛牛今天和大家玩了一个新游戏,除了牛牛以外还有 n 个人参加游戏,现在这 n 个人中的每个人从 [1, n] 中选择一个数字,保证选出的数字均不重复.牛牛作为第 n + 1 个 ...

最新文章

  1. vs2008中常见错误解决方法汇总
  2. 网易云课堂计算机体系,计算机系统结构 (三) CPU及其结构分析
  3. Mixing ASP.NET MVC and Webforms
  4. 认证(登录)功能实现
  5. golang 1.9 sp MySQL_Golang-使用mysql
  6. Could not open app - SAP UI5 error message
  7. oracle从入门到精通_【论文】基于SPSS Modeler和Oracle的学生行为数据分析
  8. esx4.0 tpm模块初始化失败
  9. Java 8.if语句
  10. 李楠评华为Mate X/小米MIX Alpha:适合土豪做非主力手机用
  11. (四)怎么优化 where 子句
  12. Spring源码学习笔记:经典设计模式之策略模式
  13. Office for Mac升级提醒如何去掉?关闭Mac的Microsoft AutoUpdate弹框提示
  14. MongoDB CookBook读书笔记之备份与恢复
  15. LINUX下载编译SDL2
  16. 爆!看过这么多教程吗?不管你看没看过,我反正是没看过!
  17. IDEA 数据库可视化配置
  18. 三对角矩阵解算——TDMA解法(C++)
  19. html网站计数器代码,如何在网站添加计数器代码
  20. 解决error: invalid operands of types ‘const char [6]‘ and ‘const char [6]‘ to binary ‘operator+‘

热门文章

  1. H国身份证号码【多组实例测试】
  2. 深度学习------pytorch,RNN:句子预测,股票预测
  3. Centos7 xfs_trans_read_buf_map metadata i/o error
  4. QT 中改变文字颜色 字体 形状
  5. lattepanda安装linux系统,LattePandaAI-Linux系统环境部署
  6. 2<<3是什么意思?
  7. Code Clinic: Clojure 代码诊所:Clojure Lynda课程中文字幕
  8. watir安装及中文支持问题
  9. 最常去的IT网站(技术类,资讯类,个人博客)
  10. win10上部署elasticsearch8.1.1