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

题目描述
牛牛重新定义了斐波那契数列,牛牛定义f(n) = f(n-1)+f(n+1); f(1)=a, f(2)=b, 现在给定初始值 a, b,现在求第n项f(n)%1000000007的值。
其中 1<=|x|, |y|, n<=10^9

示例1
输入
复制
1,2,3
输出
复制
1
说明
f(2)=f(3)+f(1), 所以f(3) = f(2)-f(1)=2-1=1
示例2
输入
复制
-1,-2,3
输出
复制
1000000006
说明
同样例1:f(3)=-1%1000000007=1000000006

class Solution {public:/*** * @param a int整型 * @param b int整型 * @param n int整型 * @return int整型*/const int mod=1000000007;typedef long long ll;int solve(int a, int b, int n) {ll c=(b-a)%mod;ll f[]={a,b,c,-a,-b,-c};return (f[(n-1)%6]+mod)%mod;}
};

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

题目描述
题面:
牛牛收到了一个任务,任务要求牛牛破译一个密码。牛牛将被给予两个字符串s1和s2,均由四个小写字母构成。需要破译的密码为从s1变换到s2最少需要的变换次数。
变换的方式是这样:每次变换可以选择当前字符串中的一个位置,然后剩下的三个位置的字符从左到右分别加上2,3,5,若是超出’z’,则重新从’a’开始,例如:对于字符串"abcd",我们选择’c’的位置进行变换,则变换之后的字符串为"ceci";对于字符串"qyzr",我们选择’r’位置进行变换,则变换之后的字符串为"sber"。

示例1
输入
复制
“aaaa”,“ccgk”
输出
复制
2
说明
第一次变换选择第一个’a’,变成"acdf",第二次变换选择第二个’c’,变成"ccgk",故答案为2

class Solution {public:/*** 返回最终的答案* @param s1 string字符串 表示初始的字符串* @param s2 string字符串 表示目标的字符串* @return int整型*/int vis[27][27][27][27];struct node{int x,y,z,d,s;};int bfs(string s1,string s2){queue<node>q;int a=s1[0]-'a';int b=s1[1]-'a';int c=s1[2]-'a';int d=s1[3]-'a';int aa=s2[0]-'a';int bb=s2[1]-'a';int cc=s2[2]-'a';int dd=s2[3]-'a';q.push((node){a,b,c,d,0});vis[a][b][c][d]=1;while(!q.empty()){node no=q.front();q.pop();if(no.x==aa&&no.y==bb&&no.z==cc&&no.d==dd){return no.s;}node ans=(node){no.x,(no.y+2)%26,(no.z+3)%26,(no.d+5)%26,no.s+1};if(!vis[ans.x][ans.y][ans.z][ans.d]){q.push(ans);vis[ans.x][ans.y][ans.z][ans.d]=1;}ans=(node){(no.x+2)%26,no.y,(no.z+3)%26,(no.d+5)%26,no.s+1};if(!vis[ans.x][ans.y][ans.z][ans.d]){q.push(ans);vis[ans.x][ans.y][ans.z][ans.d]=1;}ans=(node){(no.x+2)%26,(no.y+3)%26,no.z,(no.d+5)%26,no.s+1};if(!vis[ans.x][ans.y][ans.z][ans.d]){q.push(ans);vis[ans.x][ans.y][ans.z][ans.d]=1;}ans=(node){(no.x+2)%26,(no.y+3)%26,(no.z+5)%26,no.d,no.s+1};if(!vis[ans.x][ans.y][ans.z][ans.d]){q.push(ans);vis[ans.x][ans.y][ans.z][ans.d]=1;}}return 0;}int solve(string s1, string s2) {memset(vis,0,sizeof(vis));return bfs(s1,s2);}
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 牛客编程巅峰赛S1第2场 - 青铜白银

    A.牛牛扔牌 链接:https://ac.nowcoder.com/acm/contest/6219/A 来源:牛客网 题目描述 牛牛现在有n张扑克牌,每张扑克牌都有点数和花色两部分组成.点数为'1' ...

  9. 牛客编程巅峰赛S2第5场 - 钻石王者 C.Tree III

    牛客编程巅峰赛S2第5场 - 钻石&王者 C.Tree III 题目链接 题目描述 给出一棵有n个节点的节点标号为1~n的有根树(根为第一个节点,并给出从第2个节点到第n个节点的父结点),请你 ...

最新文章

  1. how is SAP UI5 bindItems implemented
  2. php高中级程序员面试题,PHP 程序员面试笔试常考面试题精讲
  3. 美丽人生论坛看贴工具delphi版
  4. Linux内核深入理解定时器和时间管理(3):tick 广播 框架 和 dyntick
  5. bboss session自定义session id生成机制介绍
  6. TIA Portal联合Process Simulate搞定SICAR虚拟调试实例步骤
  7. 一文彻底看懂Base64原理(并使用java实现)
  8. 微信小程序实现网络请求API获取数据
  9. 求Kinetics400,AVA,prcv2018,Moments in time challenge2018,youtube8M,ActivityNet数据集,原始视频
  10. SECS\GEM RMS系统简介
  11. 算法- C语言实现侏儒(地精)排序(Gnome_sort)
  12. org.dom4j.DocumentException: 1 字节的 UTF-8 序列的字节 1 无效。
  13. 服务器违反了协议怎么办,微云里面的视频被和谐了怎么办 上传视频违反协议解决方法...
  14. 60天造个火箭给你玩玩,你想要不?
  15. 偏光显微镜基本原理及主要用途
  16. Three.js-光线投射(raycaster)
  17. MySQL基础教程【1】数据库简介
  18. Extreme Picture Finder(网络图片下载器)官方中文版V3.53.3 | 下载网页图片的软件 | 图片助手批量图片下载器
  19. android 三维软件 cad,CAD实例教程:快速设计呆萌的安卓机器人
  20. 分析Google Play谷歌应用市场是如何检测APP/APK/AAB之间g关联和相似性的

热门文章

  1. 01 【nodejs简介】
  2. 推荐几个优质公众号,一个个都好优秀!(大实话)
  3. 3dmax2014 uv用法_3DSMAX演示一个硬表面模型UV展开的方法
  4. Kali linux虚拟机设置1920x1080分辨率
  5. 纷享销客订货通:B2B渠道管理专属的经销商订货平台
  6. window.print打印部分无法显示
  7. 对nand flash设备进行升级
  8. 图灵 | 计算机器与智能
  9. ZUCC_Object Oriented Programming_Lab01 Introduction to Java
  10. 如何实现表格行列冻结