POJ3750
#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的更多相关文章
- POJ3750: 小孩报数问题+一道经典约瑟夫问题(猴子选大王)
又一次因为一个小错误,POJ上Wrong Answer了无数次..... 在差不多要放弃的时候,发现了这个猥琐的不能再猥琐的bug,改完了提交就AC了,简直无语.... 本题wo采用模拟方法: 1 # ...
- 约瑟夫问题 小孩报数问题poj3750
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15228 Accepted: 6778 Descripti ...
随机推荐
- phpcms首页商机的调用,多种方式
<hr /> {pc:get sql="select * from phpcms_yp_buy" order="updatetime DESC"} ...
- oracle常用SQL总结
这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收 ...
- STM32学习笔记——新建工程模板步骤(向原子哥学习)
1. 在创建工程之前,先在电脑的某个目录下面建立一个文件夹,我们先把它命名为Template,后面建立的工程可以放在这个文件夹下.在 Template 工程目录下面,新建 3 个文件夹USER , ...
- Logger之Logger.getLogger(CLass)
之前一直在使用System.out.println()来调试.但是用这种方式开发项目部署到生产环境,会因为众多的控制台输出降低应用的性能.这时候Log4J就成为可平衡开发和部署应用的利器了. 在项目中 ...
- 杂谈之SolrCloud这个坑货
杂谈之SolrCloud这个坑货 看<Solr In Action>时候看到对Solr不足的介绍有这么一段话:“One final limitation of Solr worth men ...
- PartialFunction(偏函数)
val one:PartialFunction[Int,String]={ case 1 => "one" case 2 => "two" case ...
- 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, ...
- RMQ——忠诚题解
题目:忠诚 描述: [题目描述] 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满 意.但是由于一些人的 ...
- String源码
/* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- Windows 已在 DImageProcess.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 DImageProcess.exe 中或它所加载的任何 DLL 中有 Bug. 原因也可能是用户在 DImageProcess.exe 具有焦点时按下了 F12. 输出窗 ...