hdu 1443
来源:互联网 发布:左右脑平衡 知乎 编辑:程序博客网 时间:2024/06/16 06:13
题目大意:输入一个整数k表示好人的数量.然后一个圈有2k个人组成。前k个是好人,后k个是坏人。请确定合适的步数,使得在杀掉第一个好人之前,把所有的坏人都杀掉
解题思路:约瑟夫环问题
代码如下:
/* * 1443_1.cpp * * Created on: 2013年8月11日 * Author: Administrator */#include <iostream>using namespace std;//res[]用来存储1~14个好人是应该走的步数int res[16];int fun(int n) {int ans, sum;sum = n * 2;if (res[n]) {return res[n];} else {for (ans = n + 1;; ans++) {//每一个可能的值都需要sum和flag来标记bool flag = 0;sum = n * 2;int j;for (j = ans;; j += ans - 1) { //人数减1if (j > sum) {j = j % sum ? j % sum : sum;}if (j <= n) {break;} else {--sum; //人数减1}if (sum == n) {flag = 1;break;}}if (flag) {res[n] = ans;return res[n];}}}}int main() {int k;while (scanf("%d", &k), k) {//printf("%d\n",fun(k));cout << fun(k) << endl;}}
- hdu-1443
- hdu 1443
- hdu 1443
- HDU-1443 Joseph
- HDU 1443 约瑟夫问题
- HDU--1443 Joseph
- HDU 1443 Joseph
- hdu 1443 Joseph
- hdu 1443 Joseph
- hdu -- 1443 Joseph
- HDU 1443 Joseph
- HDU 1443 Joseph
- HDU 1443 Joseph
- HDU 1443 Joseph
- hdu 1443 Joseph
- HDU 1443解题报告
- HDU-1443 Joseph
- hdu 1443 Joseph
- C++结构体的定义、初始化和引用
- 栈遍历式迷宫
- 网络通信之单播,广播,多播
- MapReduce基本概念
- 常去的餐馆发现他们送饭老弄错,餐馆下单管理,不喜欢搞太上层的东西
- hdu 1443
- vc查看端口是否被占用
- 图书管理(不含数据库,纯粹练习)
- CenOS下安装jdk
- 关于socket的接收堵塞问题
- 简单网页传值问题
- 连接类型:外连接、内连接和无连接
- IntelliJ IDEA 代码提示快捷键
- 补办燃气卡