杀人游戏(hdu2211)插入法
杀人游戏
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1375 Accepted Submission(s): 267
#include<stdio.h>
int main()
{
__int64 t,n,k,count,luck,s,p,i;
scanf("%I64d",&t);
while(t--)
{
scanf("%I64d%I64d",&n,&k);
p=k-;//插入周期eg:k=3,那么p=2;两个一插
for(s=k;s<n;)//s为标记,来标记luckboy的位置
{
i=(s-)/p;//计算s前面插几个
luck=s;//luck是记录上一个s的值
s=s+i;
}
printf("%I64d\n",luck);
}
return ;
}
以题例为例,他的流程图如下,s代表luck boy的位置,数字带下划线表示刚插入的数
是不是 so easy 啊! 关键是方法!!!
1 2 s(3)
1 2 3 s(4)
1 2 3 s(5) 6
1 2 3 6 s(7) 9
1 2 3 6 9 s(10) 12
够短小吧,再者我之前的代码是:
#include<stdio.h>
int main()
{
int t,k;
__int64 i,j,n,count,p;
__int64 a[],luck; scanf("%d",&t);
while(t--)
{
scanf("%I64d%d",&n,&k);
for(i=;i<=n;i++)
a[i]=i;
count=;
for(i=k;i<=n;i++)
{
if(a[i]%k==)
{a[i]=;count++;} }
for(i=,j=;(n-count)>=k;i++)
{ if(a[i]!=)
j++;
if(j==k)
{luck=a[i];a[i]=;count++;j=;}
if(i==n)
{i=;j=;}
}
printf("%I64d\n",luck); }
return ; }
这就是差距,大神就是大神,学长牛牛,,,我也要加油
杀人游戏(hdu2211)插入法的更多相关文章
- hdu2211杀人游戏
Problem Description 不知道你是否玩过杀人游戏,这里的杀人游戏可没有法官,警察之类的人,只有土匪,现在已知有N个土匪站在一排,每个土匪都有一个编号,从1到N,每次杀人时给定一个K值, ...
- 【acm】杀人游戏(hdu2211)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2211 杀人游戏 Time Limit: 3000/1000 MS (Java/Others) M ...
- 【BZOJ-2438】杀人游戏 Tarjan + 缩点 + 概率
2438: [中山市选2011]杀人游戏 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1638 Solved: 433[Submit][Statu ...
- 丢沙包游戏(或杀人游戏)的C语言实现
丢沙包游戏(或杀人游戏)用C语言实现: 游戏简述: 杀人游戏(或者丢沙包游戏),设定一些人(人数为:num)一起玩游戏,从某个指定的人(设定为:start)开始轮流扔沙包,扔沙包人的下一个人为1,每隔 ...
- 【BZOJ2438】[中山市选]杀人游戏 Tarjan+概率
[中山市选]杀人游戏 Tarjan+概率 题目描述 一位冷血的杀手潜入\(Na\)-\(wiat\),并假装成平民.警察希望能在\(N\)个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查 ...
- BZOJ 2438:杀人游戏(tarjan+概率)
杀人游戏Description一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手. 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, ...
- bzoj2438 杀人游戏 Tarjan强联通
[bzoj2438][中山市选2011]杀人游戏 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查 ...
- BZOJ_2438_[中山市选2011]杀人游戏 _强连通分量
BZOJ_2438_[中山市选2011]杀人游戏 _强连通分量 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人 ...
- bzoj2438: [中山市选2011]杀人游戏(强联通+特判)
2438: [中山市选2011]杀人游戏 题目:传送门 简要题意: 给出n个点,m条有向边,进行最少的访问并且可以便利(n-1)个点,求这个方案成功的概率 题解: 一道非常好的题目! 题目要知道最大的 ...
随机推荐
- 【译】AI 让科技公司变得更强大吗
机器学习可能是当今技术中最重要的基本趋势.由于机器学习的基础是数据 - 大量的数据 - 很常见的是,人们越来越担心已经拥有大量数据的公司会变得更强大.这有一定的道理,但是以相当狭窄的方式,同时ML也看 ...
- 获取当前人IP地址
/*** 获取访问的IP地址* @date 2018年11月26日上午11:31:49* @user : taoshao* @param request* @return*/public String ...
- 31_网络编程-struct
一.struct 1.简述 我们可以借助一个模块,这个模块可以把要发送的数据长度转换成固定长度的字节.这样客户端每次接收消息之前只要先接受这个固定长度字节的内容看一看接下来要接收的信息大小,那么 ...
- 动态分析小示例| 08CMS SQL 注入分析
i春秋作家:yanzm 0×00 背景 本周,拿到一个源码素材是08cms的,这个源码在官网中没有开源下载,需要进行购买,由某师傅提供的,审计的时候发现这个CMS数据传递比较复杂,使用静态分析的方式不 ...
- linux 服务器脚本采集数据中文无法执行错误
问题描述:在 RHEL6 版本的服务器上使用脚本操作数据库,其中一个SQL的字段值为中文,每次使用 crontab定时 执行该脚本无法获取数据,实现预期效果,而手动执行正常. oracle clien ...
- java后端导入excel将数据写入数据库
参考:https://www.cnblogs.com/hanfeihanfei/p/7079210.html @RequestMapping("/importExcel.do") ...
- 在MySQL Workbench查看表,表结构,索引,函数,存储过程,触发器,重连
表 表结构 索引 触发器 存储过程 函数 重新连接 出现Error Code: 2006 MySQL server has gone away时
- 生成代码的代码 之 POJO生成器
我们在写Java代码时候,有时候需要写一些POJO类,也就是只有一些属性和get, set方法的类.例如,在写REST 服务时候,利用Jersery + Jackson,可以把输入的JSON字符串自动 ...
- Linux命令对应的英文全称
su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk u ...
- win10 关闭屏幕自动亮度
每次切换到vsCode,再切换回桌面,屏幕总是忽暗忽亮,这谁设计的,脑残至极! 百度了好久,终于找到解决办法: 控制面板→英特尔®核芯显卡→电源→使用电池→显示器节能技术→禁用→应用 如果你按上述步骤 ...