#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
int main()
{
int i,j,w,s,n;
char a[65][16];
int p[65];
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p[i]=i;
scanf("%s",&a[i]);
} scanf("%d,%d",&w,&s);
w=(w+n)%n; while(n-1){ w=(w+s-1)%n;
printf("%s\n",a[p[w]]);
for(j=w;j<n;j++)
p[j]=p[j+1];
n--;
cout<<w<<" "<<n<<endl;
}
return 0;
}
//WA代码↑

POJ3750





题意:约瑟夫环问题。





输入:

n(人数)

str(人的姓名)

w(起始下标)s(间隔人数)





输出:

str(人的姓名)





思路:约瑟夫环问题,直接模拟起始w=(w+n-1)%n,出去下标w=(w+s-1)%n,在后面要把环的下标更新即可。





AC代码:

#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
int main()
{
int i,j,w,s,n;
char a[65][16];
int p[65];
scanf("%d",&n);
for(i=0;i<n;i++)
{
p[i]=i;
scanf("%s",&a[i]);
} scanf("%d,%d",&w,&s);
w=(w+n-1)%n; while(n){ w=(w+s-1)%n;
printf("%s\n",a[p[w]]);
for(j=w;j<n-1;j++)
p[j]=p[j+1];
n--;
// cout<<w<<" "<<n<<endl;
}
return 0;
}

POJ3750的更多相关文章

  1. POJ3750: 小孩报数问题+一道经典约瑟夫问题(猴子选大王)

    又一次因为一个小错误,POJ上Wrong Answer了无数次..... 在差不多要放弃的时候,发现了这个猥琐的不能再猥琐的bug,改完了提交就AC了,简直无语.... 本题wo采用模拟方法: 1 # ...

  2. 约瑟夫问题 小孩报数问题poj3750

    小孩报数问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15228   Accepted: 6778 Descripti ...

随机推荐

  1. phpcms首页商机的调用,多种方式

    <hr /> {pc:get sql="select * from phpcms_yp_buy" order="updatetime DESC"} ...

  2. oracle常用SQL总结

    这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收 ...

  3. STM32学习笔记——新建工程模板步骤(向原子哥学习)

    1.  在创建工程之前,先在电脑的某个目录下面建立一个文件夹,我们先把它命名为Template,后面建立的工程可以放在这个文件夹下.在 Template 工程目录下面,新建 3 个文件夹USER , ...

  4. Logger之Logger.getLogger(CLass)

    之前一直在使用System.out.println()来调试.但是用这种方式开发项目部署到生产环境,会因为众多的控制台输出降低应用的性能.这时候Log4J就成为可平衡开发和部署应用的利器了. 在项目中 ...

  5. 杂谈之SolrCloud这个坑货

    杂谈之SolrCloud这个坑货 看<Solr In Action>时候看到对Solr不足的介绍有这么一段话:“One final limitation of Solr worth men ...

  6. PartialFunction(偏函数)

    val one:PartialFunction[Int,String]={ case 1 => "one" case 2 => "two" case ...

  7. HDOJ(HDU) 1720 A+B Coming(进制)

    Problem Description Many classmates said to me that A+B is must needs. If you can't AC this problem, ...

  8. RMQ——忠诚题解

    题目:忠诚 描述: [题目描述] 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满 意.但是由于一些人的 ...

  9. String源码

    /* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...

  10. Windows 已在 DImageProcess.exe 中触发一个断点。

    其原因可能是堆被损坏,这说明 DImageProcess.exe 中或它所加载的任何 DLL 中有 Bug. 原因也可能是用户在 DImageProcess.exe 具有焦点时按下了 F12. 输出窗 ...