博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces 412 B T-shirt Hunt
阅读量:4114 次
发布时间:2019-05-25

本文共 1672 字,大约阅读时间需要 5 分钟。

题意:其实这个题的思路还是很清晰的,就是暴力,难的就是题目,感觉题目意思不是很好理解

          Codeforces举办了比赛,其中要发一些纪念的T-shirt,其中前25名可以得到,另外在26-500名之间的人如果被抽中也可以得到。

其中抽取的时候shirt按照一定算法的,现在让你去抽取另外的25名,你是按照如下程序进行的。

i := (s div 50) mod 475repeat 25 times:    i := (i * 96 + 42) mod 475    print (26 + i)
其中s代表的是你的分数。如果(26+i)在26-500之内就打印出来,代表这个人被选中了;

现在有一个分数y,分数大于等于y代表有可以赢得比赛,你可以通过hack别人来提高你自己的分数,其中如果你hack别人成功你将获得100分,如果失败你将失去50分。

现在测试数据给的是  p,x,y,其中p代表你在比赛中的名次,x代表的你分数,就是上文中提到的s,y就是上文中的y,现在让你求你最少需要成功hack别人多少次,你可将可以获得T-shirt并且可以赢得比赛。

思路:

如果x小于y,你可以依次增加你的分数按照梯度为50,只要你的排名就打印就立即停止

如果x大于y,这时你可以从hack别人失败开始,然后在hack别人成功,在以梯度50依次增加你的分数,一开始我想的时分两种情况,一种是先hack别人失败,分数减少在增加,另一种是直接hack别人成功依次增加,后来感觉这两种情况可以合为一种。

注意: 如果是直接更改题目中的x,要注意什么时候用什么值,一般而言,最好不要更改输入变量的值,以减少错误。

代码如下:

#include 
#include
#include
#include
#include
#include
using namespace std;const int INF=0x3f3f3f;int main(){ int p,y,x; set
s; s.clear(); int cur=0; int minn=INF; scanf("%d%d%d",&p,&x,&y); int nn=0; int xxx=x; int xx=x; if(y>x) { int res=(y-x)/100; int tt=x+res*100; nn=tt*2; if((y-x)%100<=50&&(y-x)%100) { x+=50; nn++; } else if((y-x)%100) { x+=100; nn++; } while(1) { s.clear(); cur=0; xx=x; xx=(xx/50)%475; while(cur<25) { xx=(xx*96+42)%475; int temp=xx+26; if(temp<=500&&temp>=26) { cur++; s.insert(temp); } } if(s.count(p)) { break; } x+=50; nn++; } minn=(nn/2)+(1&&(nn%2)); } else { x=xxx; nn=0; int hh=x-y; hh/=50; x-=hh*50; while(1) { s.clear(); cur=0; xx=x; xx=(xx/50)%475; while(cur<25) { xx=(xx*96+42)%475; int temp=xx+26; if(temp<=500&&temp>=26) { cur++; s.insert(temp); } } if(s.count(p)) { break; } x+=50; if(x>xxx) nn++; } minn=min(minn,nn/2+(1&&(nn%2))); } printf("%d\n",minn); return 0;}

转载地址:http://rygsi.baihongyu.com/

你可能感兴趣的文章
微信小程序中使用npm过程中提示:npm WARN saveError ENOENT: no such file or directory
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
Vue项目中使用img图片和background背景图的使用方法
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
关于无线PCB中 中50欧姆的特性阻抗的注意事项
查看>>