8.31
来源:互联网 发布:mac os升级后盗版软件 编辑:程序博客网 时间:2024/05/17 23:29
今天做的是模拟10题 马上要给同学讲解了 所以做得比较透。
第一题:
LUOGU1003题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到n 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
这道题也有些细节 因为这个矩形可以很大 (两三万) 所以直接开数组肯定是会炸的。所以要用到离散化(虽然我也不明白什么事离散化 黄涵大佬和我说的 但和我的思路是一样的) 就是读到那个需要的坐标后 对每个地毯进行判断是否覆盖该点 AC代码如下:
#include<bits/stdc++.h>using namespace std;int main(){ int n,x[10010],y[10010],x1[10010],y1[10010]; int a,b; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d%d%d",&x[i],&y[i],&x1[i],&y1[i]); scanf("%d%d",&a,&b); int s=0; for(int i=1;i<=n;i++) if((a>=x[i])&&(a<=x[i]+x1[i])&&(b>=y[i])&&(b<=y[i]+y1[i])) s=i; if(s==0) s--; printf("%d",s); return 0;}暴力题比较简单。
第二题:
LUOGU1089 题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。
这题就非常简单了 暴力过
AC代码如下:
#include<bits/stdc++.h>using namespace std;int main (){ int money=0,n,i=0,save=0; bool flag=true; while((i<12)&&(flag)) { i++; scanf("%d",&n); money+=300; money-=n; if(money>=100) {n=money/100;money-=n*100;save=save+n*100;} else if(money<0) flag=false; } if (flag) printf("%d",save*120/100+money); else printf("-%d",i); return 0;}第三题:
LUOGU1328题目描述石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8 集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:斯波克:《星际迷航》主角之一。蜥蜴人:《星际迷航》中的反面角色。这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。
现在,小A 和小B 尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的,但周期长度不一定相等。例如:如果小 A以“石头 - 布- 石头- 剪刀- 蜥蜴人- 斯波克”长度为6 的周期出拳,那么他的出拳序列就是“石头- 布- 石头- 剪刀- 蜥蜴人- 斯波克- 石头- 布- 石头- 剪刀- 蜥蜴人- 斯波克- ……”,而如果小B 以“剪刀- 石头- 布- 斯波克- 蜥蜴人”长度为5 的周期出拳,那么他出拳的序列就是“剪刀- 石头- 布- 斯波克- 蜥蜴人- 剪刀- 石头- 布-斯波克- 蜥蜴人- ……”已知小A 和小B 一共进行N 次猜拳。每一次赢的人得1 分,输的得0 分;平局两人都得0 分。现请你统计N 次猜拳结束之后两人的得分。
也是暴力 代码如下:
#include<bits/stdc++.h>using namespace std;int main (){ int p,q,n,a,b,A[300],B[300]; int awin=0,bwin=0; scanf("%d%d%d",&n,&a,&b); for(int i=1;i<=a;i++) scanf("%d",&A[i]); for(int i=1;i<=b;i++) scanf("%d",&B[i]); p=0;q=0; for(int i=1;i<=n;i++) { p=p%a+1; q=q%b+1; switch(A[p]) { case 0:switch(B[q]) //a出剪刀 { case 1:bwin++;break; case 2:awin++;break; case 3:awin++;break; case 4:bwin++;break; };break; case 1:switch(B[q]) //a出石头 { case 0:awin++;break; case 2:bwin++;break; case 3:awin++;break; case 4:bwin++;break; };break; case 2:switch(B[q]) //a出布 { case 0:bwin++;break; case 1:awin++;break; case 3:bwin++;break; case 4:awin++;break; };break; case 3:switch(B[q]) //a出蜥蜴人 { case 0:bwin++;break; case 1:bwin++;break; case 2:awin++;break; case 4:awin++;break;};break; case 4:switch(B[q]) //a出斯波克 { case 0:awin++;break; case 1:awin++;break; case 2:bwin++;break; case 3:bwin++;break; };break; } } printf("%d %d",awin,bwin); return 0;}溜了
阅读全文
0 0
- 8.31
- 8.31
- 8.31
- 8.31
- 8.31总结
- 单词: 8.31 -9.01
- 8.31学习总结
- 8.31碰撞触发
- 日记—8.31
- 训练总结 8.31
- 8.30,8.31 ocm考试结束
- 考研复习计划(8.20-8.31)
- 今日作息及食谱(8.31)
- 8.1-8.31推荐文章汇总
- 8.31 今天学到了什么
- 工作日志1(2006.8.15--8.31
- 生命就是一份喜悦(8.31)
- 千寻穗C语言学习日记8.31
- 30多年的编码经验浓缩成的 10 条最佳实践
- 五、Activiti问题解决:不是 'NCName' 的有效值的问题
- 常用存储过程
- vue插件之vuex
- c++基础之表达式
- 8.31
- ORA-27101: shared memory realm does not exist
- shell expect scp file
- 2017ACM/ICPC广西邀请赛-重现赛
- 卡拉兹(Callatz)猜想
- Few Method To Deploy Virtual Machine Scale Set With Azure Template
- 努力成为10x Developer
- pandas库操作
- 自己封装的javascript工具类bee.js