博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2211 杀人游戏
阅读量:6644 次
发布时间:2019-06-25

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

设f(N,K)返回最后取出的编号那么f(n,k)进行第一次选后,剩下n-n/k个人,这剩下的人里最后被取出的编号为f(n-n/k,k)记为x那么它在前一次队列里的编号则是(x-1)/(k-1)+x所以f(n,k)=(x-1)/(k-1)+x 其中x=f(n-n/k,k)
#include
int cal(int n,int k){ if(n==k)return k; int m=cal(n-n/k,k); return (m-1)/(k-1)+m;}int main(){ int _case; int n,k; scanf("%d",&_case); while(_case--) { scanf("%d%d",&n,&k); printf("%d\n",cal(n,k)); } return 0;}

 

转载于:https://www.cnblogs.com/XDJjy/p/3251651.html

你可能感兴趣的文章
ORACLE中 schema 和 user 区别
查看>>
Redhat6.5使用centos yum源
查看>>
unity3d与web交互的方法
查看>>
寒假集训日志(三)——数论
查看>>
javascript正则表达式
查看>>
QDU68 UP UP UP!(最长上升子序列个数)
查看>>
ls常用参数
查看>>
MySQL简单查询详解-单表查询
查看>>
MVC音乐商店 - 第二部分:控制器
查看>>
SLF4J的使用
查看>>
爬取新闻列表
查看>>
HttpClientUtil 工具类 实现跨域请求数据
查看>>
S8-codelab02
查看>>
怎么看iOS human interface guidelines中的user control原则
查看>>
Mac OS10.11更新ruby,gem,安装cocoapods
查看>>
qhfl-6 购物车
查看>>
双十一错题集
查看>>
iframe中有ajax,设置iframe自适应高度
查看>>
Oracle配置网络服务
查看>>
double型转换成string型
查看>>