day 10 模拟和高精度

news/2024/4/27 23:08:22/文章来源:https://blog.csdn.net/qq_54809548/article/details/128424763

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

#include<bits/stdc++.h>
using namespace std; int n, na, nb, fa, fb;//f:得分 
int a[205], b[205];void fun(int ta, int tb){if(ta == 0 && tb == 1) fb++;if(ta == 1 && tb == 0) fa++;if(ta == 0 && tb == 2) fa++;if(ta == 2 && tb == 0) fb++;if(ta == 0 && tb == 3) fa++;if(ta == 3 && tb == 0) fb++;if(ta == 0 && tb == 4) fb++;if(ta == 4 && tb == 0) fa++; if(ta == 1 && tb == 2) fb++;if(ta == 2 && tb == 1) fa++;if(ta == 1 && tb == 3) fa++;if(ta == 3 && tb == 1) fb++;if(ta == 1 && tb == 4) fb++;if(ta == 4 && tb == 1) fa++;if(ta == 2 && tb == 3) fb++;if(ta == 3 && tb == 2) fa++;if(ta == 2 && tb == 4) fa++;if(ta == 4 && tb == 2) fb++; if(ta == 3 && tb == 4) fa++;if(ta == 4 && tb == 3) fb++;
}
int main()
{cin >> n >> na >> nb;for(int i=0; i<na; i++)cin >> a[i];for(int i=0; i<nb; i++)cin >> b[i];int ta, tb;for(int i=0; i<n; i++){//进行n轮 ta = a[i%na];tb = b[i%nb];fun(ta, tb);}cout<< fa << " " << fb << endl;return 0;
}

得分表  --- >   简化代码: 

#include<bits/stdc++.h>
using namespace std; int n, na, nb, fa, fb;//f:得分 
int a[205], b[205];
int s[5][5] = {{0, 1, 0, 0, 1},{0, 0, 1, 0, 1},{1, 0, 0, 1, 0},{1, 1, 0, 0, 0},{0, 0, 1, 1, 0}}; 
// 行表示b,列表示a,s[b][a]=1:表示列a得分 
int main()
{cin >> n >> na >> nb;for(int i=0; i<na; i++)cin >> a[i];for(int i=0; i<nb; i++)cin >> b[i];int ta, tb;for(int i=0; i<n; i++){//进行n轮 ta = a[i%na];tb = b[i%nb];fa += s[tb][ta];//a得分 fb += s[ta][tb];//b得分 }cout<< fa << " " << fb << endl;return 0;
}

P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two

如果 John 和牛永远不会相遇,输出 0。(实在不会,就设一个大一点的maxt ...... )

如果两个物体先后两次从同一个方向走到同一个地点,我们就可以说它们陷入了死循环。

专属值 = 农夫的x坐标+他的y坐标* 10+奶牛的x坐标* 100+奶牛的y坐标* 1000+农夫的方向* 10000+奶牛的方向* 40000(农夫方向最多为4)但这样会超时,就直接t>10000即死循环

这里面权重的取值很关键! 权重分别为 1 10 100 1000 10000 40000,包括了所有的情况。 

个位数的值 只与 农夫的X 坐标挂钩,因为其他的部分都不会影响个位数的取值;

同理 十位数与 Y 挂钩 其他的也是

而 10000 与 40000, 因为前面是坐标,而地图大小为 10*10 , 有0-9(或者1- 10) 10种可能, 而后面两个是方向 上下左右只需要四个值即可表示 0 1 2 3因此 最后一项的权重是 40000(当然你×100000应该也没问题,但是40000更小节约内存嘛)

这样,将每一种情况都保存起来, 确保不会出现重复 (出现重复,则说明 牛 和 农夫在绕圈子 , 永远也走不到一起,即捕捉失败)                     其实没太懂,,,记录一下。

#include<bits/stdc++.h>
using namespace std; char mp[12][12], c;
int cx, cy, fx, fy, t, d[2], f;//f=0,d[0]:牛,f=1,d[1]:人 
// d=0:向上;d=1:向右;d=2:向下;d=3:向左 
//bool zt[160005]; int tdz;//专属值 (会超时!)void move(int x,int y, int td, int f){if(td == 0){ if(mp[x-1][y] == '*'){if(f == 0) d[0] = 1;else d[1] = 1;}else{if(f == 0) fx--;else cx--;}}else if(td == 1){if(mp[x][y+1] == '*'){if(f == 0) d[0] = 2;else d[1] = 2;}else{if(f == 0) fy++;else cy++;}}else if(td == 2){if(mp[x+1][y] == '*'){if(f == 0) d[0] = 3;else d[1] = 3;}else{if(f == 0) fx++;else cx++;}}else{if(mp[x][y-1] == '*'){if(f == 0) d[0] = 0;else d[1] = 0;}else{if(f == 0) fy--;else cy--;}}
}
int main()
{memset(mp, '*', sizeof(mp));//在边缘加一圈 * for(int i=1;i<=10; i++){for(int j=1; j<=10; j++){cin >> c;mp[i][j] = c;if(mp[i][j] == 'F')fx = i,fy = j;if(mp[i][j] == 'C')cx = i,cy = j;}}while(1){//tdz=fx+fy*10+cx*100+cy*1000+d[0]*10000+d[1]*40000;//if (zt[tdz]){ t = 0;break; }//死循环了就输出0并结束程序if(fx == cx && fy == cy) break;if(t > 10000){ t = 0; break;}move(fx, fy, d[0], 0);move(cx, cy, d[1], 1);t ++ ;//计时 }cout << t << endl;return 0;
}

P1067 [NOIP2009 普及组] 多项式输出

看似简单但不容易考虑周全

#include<bits/stdc++.h>
using namespace std; int n, a[105];
int main()
{cin >> n;for(int i=n; i>=0; i--){cin >> a[i];if(a[i]){if(i!=n && a[i]>0)cout<<"+";//第一项不加 + if(abs(a[i])>1 || i==0)cout<<a[i];//系数为 0 不输出 if(a[i]==-1 && i)cout<<"-";//系数为 -1 只输出 - if(i>1)cout<<"x^"<<i;//大多项输出 ^ if(i==1)cout<<"x";//一次项不输出 ^   }}return 0; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_239654.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【nowcoder】笔试强训Day2

目录 一、选择题 二、编程题 2.1排序子序列 2.2倒置字符串 一、选择题 1.A 派生出子类 B &#xff0c; B 派生出子类 C &#xff0c;并且在 java 源代码有如下声明&#xff1a; 1. A a0new A(); 2. A a1new B(); 3. A a2new C(); 问以下哪个说法是正确的&#xff08;&…

机器学习 | 线性回归

一.基本原理 利用回归方程&#xff08;函数&#xff09;对一个或多个自变量&#xff08;特征值&#xff09;和因变量&#xff08;目标值&#xff09;之间关系进行建模的一种分析方式 根据线性代数&#xff0c;我们可以定义方程 xwy&#xff0c;在线性回归问题中&#xff0c;x…

前端小知识:赋予变量默认值(逻辑与运算符、空值合并运算符、逻辑空运算符)

8. 逻辑与运算符、空值合并运算符、逻辑空运算符&#xff08;可用赋予默认值&#xff09; &#xff08;空值合并运算符&#xff09;官方文档&#xff1a; https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing   &#xff08;逻辑…

【推荐收藏】这份图解算法数据结构的材料太良心

5年前发生的一件事&#xff0c;成为了我职业生涯的重要转折点。当时的我在交大读研&#xff0c;对互联网求职一无所知&#xff0c;但仍然硬着头皮申请了 Microsoft 实习生。面试官让我在白板上写出“快速排序”代码&#xff0c;我畏畏缩缩地写了一个“冒泡排序”&#xff0c;并…

1754. 构造字典序最大的合并字符串

摘要 1754. 构造字典序最大的合并字符串 一 贪心算法分析 题目要求合并两个字符串 word1 与 word2&#xff0c;且要求合并后的字符串字典序最大。首先需要观察一下合并的选择规律&#xff0c;假设当前需要从 word1​ 的第 i 个字符和 word2​ 的第 j个字符选择一个字符加入到…

自制macOS安装镜像iso虚拟机用

在网上下载的用于在虚拟机中安装的镜像版本相对比较旧。安装完成后还要进行升级比较麻烦。于是我就想自己制作安装镜像了。 精华 #创建空白磁盘镜像 hdiutil create -o /tmp/ventura -size 13800m -volname ventura -layout SPUD -fs HFSJ #挂载上面创建的镜像 hdiutil attac…

内容资产管理11问

&#x1f447;点击一键关注主笔&#xff1a;邹小困、邝晴岚主持人&#xff1a;增长黑盒分析师Emma出品&#xff1a;增长黑盒研究组前言在这个信息爆炸的数据时代&#xff0c;各个行业正积极推进数字化转型&#xff0c;产业升级与技术赋能成为主题之一。在推进企业线上线下融合的…

最近面试遇到一个算法题,简单写一点。

第⼀题&#xff08;必答&#xff09; 请针对有重复数字的数组设计⼀个快排算法&#xff0c;⽐如&#xff1a;[34, 34, 89, 1, 1, 20, 12]&#xff0c;排序后结果为 [89,34,34,20,12,1,1] 第⼆题&#xff08;必答&#xff09; 请利⽤Redis 实现⼀个通⽤分布式锁&#xff0c;并…

B+树 [数据结构与算法][Java]

B树 B树是B树的一种变形 我们通过一颗四阶B树来理解认识一下B树:(如下:) 我们其实从图上就可以看出B树和B树是有很多不同之处的 比如我们的B树中将叶子结点层的所有结点使用一个链表串联了起来B树中对于非叶子结点都是只是存储的索引(指针), 并没有存储关键字, 所以我们最终查…

Linux系统基础——BIOS和Bootloader

BIOS和Bootloader 特此说明: 刘超的趣谈linux操作系统是比较重要的参考资料&#xff0c;本文大部分内容和所有图片来源于这个专栏。 1 了解背景 1.1 目的 操作系统不是在板子上电就直接运行的&#xff0c;上电到系统启动的中间过程要搞明白&#xff0c;比如了解linux系统启动…

火山引擎 DataTester 上线“流程画布”功能,支持组合型 A/B 实验分析

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在精细化运营的时代&#xff0c;运营活动同样需要有精细化的策略&#xff0c;例如在年末大促活动中&#xff0c;设计 APP 弹窗提醒、满减、会员领券时&#xff0c;我…

TikTok 加速团结独立站,跨境电商的又一次红利期?

TikTok近年来在国际上非常流行。2021年8月&#xff0c;TikTok的全球下载量首次超过Facebook&#xff0c;成为全球最大的下载量。TikTok的诞生打破了海外社交媒体的垄断&#xff0c;TikTok营销成为许多跨境卖家的重点之一。 封号事件发生后&#xff0c;许多跨境卖家开始向独立站…

Python函数总结

在Python中&#xff0c;函数是一个带有名字的代码块&#xff0c;可以被反复调用。函数可以帮助你组织和重用代码&#xff0c;使你的程序更整洁&#xff0c;更易于维护。本文将会深入探索Python的秘密 目录 定义函数 自定义函数 内置函数 函数式方程 高阶函数 函数标注 …

读研2年,我选择从中科院退学转行做码农

从入学天坑材料专业到退学 先自我介绍一下&#xff1a;我天坑材料专业&#xff0c;本科某211&#xff0c;保研到中科院&#xff0c;但是我真是菜的抠脚&#xff0c;还懒&#xff0c;也不喜欢科研&#xff0c;论文达不到毕业要求&#xff0c;纠结之下研三退学转码农了。 读了2…

JVM【垃圾回收相关概念和垃圾回收器】

垃圾回收相关概念 System.gc()的理解 在默认情况下&#xff0c;通过**system.gc&#xff08;&#xff09;**者Runtime.getRuntime().gc() 的调用&#xff0c;会显式触发FullGC&#xff0c;同时对老年代和新生代进行回收&#xff0c;尝试释放被丢弃对象占用的内存。 然而syste…

做跨境电商,如何从同类产品中脱颖而出?

随便打开一个跨境电商平台&#xff0c;你会发现自己售卖的产品有那么多类似的选择&#xff0c;如何确保你的产品能被客户选择&#xff1f;怎样在一系列产品中脱颖而出&#xff1f; 不少卖家提到了&#xff0c;搞差异化竞争&#xff0c;这是跨境电商卖家常挂在嘴边的一个词&…

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

目录前言主机准备配置主机名、关闭防火墙、关闭selinux挂载磁盘安装glusterfs服务端glusterfs的端口分布式集群的结构组成glusterfs集群创建存储卷启动卷k8s使用glusterfs作为后端存储&#xff08;静态供给glusterfs存储&#xff09;恢复初始化环境安装Heketi 服务&#xff08;…

fpga实操训练(signal tap调试)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 编写软件的同学都知道&#xff0c;如果需要调试软件的话&#xff0c;除了要学会打印信息日志之外&#xff0c;另外一个很重要的方面&#xff0c;就…

maven的插件(命令)install介绍

maven的插件&#xff08;命令&#xff09;install介绍背景关于构建时使用的maven命令installmaven其他插件/命令的使用背景 今天在引入SpringCloudAlibaba时&#xff0c;pom.xml中的dependency报错了 到本地仓库去验证 验证无误&#xff0c;找原因 现象&#xff1a; 在maven…

数据挖掘期末-图注意力模型

PyGAT图注意力模型 ​  PyGAT实现的分类器&#xff1a; https://www.aliyundrive.com/s/vfK8ndntpyc 还在发烧&#xff0c;不是特别清醒&#xff0c;就简单写了写。用GAT进行关系预测&#xff0c;GAT可能是只做中间层&#xff0c;不过本来在GAT这一层就为了能懂就简化了很多…