消灭老鼠

消灭老鼠

有一只狡猾的老鼠,在一个环形的田埂上挖了n个老鼠洞,这些洞也是连接为一个环状,我们要用泥土填满这些鼠洞,老鼠从第0号洞开始出现(第0号洞不填),然后依次按每间隔m个洞出现一次。我们要跟在老鼠后面,当老鼠出现后填补上刚刚出现的洞。我们需要计算出老鼠最后出现那个洞(即剩下最后一个洞没有被我们填上时,这个洞的序号)。

输入

输入的第一行为了两个整数n(n<=300000)、m,n表示一共有n个老鼠洞,m表示老鼠每隔m个洞出现。

输出

输出老鼠最后出现的那个洞的序号。

样例输入

5 2

样例输出

3

提 交

gcc

 
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int vis[300001];
int main(){
    int n,m;
    while(cin>>n>>m){
        int i,k,s=0;
        memset(vis,0,sizeof(vis));
        vis[0]=1;
        for(k=0;k<n;k++){
            i=0;
            while(i<m){
                s++;
                if(s>n) s-=n;
                if(!vis[s]) i++;
            }
            vis[s]=1;
        }
        cout<<s<<endl;
    }
    return 0;
} 

 

转载于:https://www.cnblogs.com/Lazy-Cat/p/9838168.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101355.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu20.04安装edge浏览器

    ubuntu20.04安装edge浏览器下载地址:www.microsoftedgeinsider.com/zh-cn/download/?platform=linux-deb下载链接是:https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_88.0.705.9-1_amd64.deb安装命令:dpkg-imicrosoft-edge-dev_88.0.705.9-1_amd64.deb..

    2022年7月21日
    17
  • WebSocket :用WebSocket实现推送你必须考虑的几个问题

    WebSocket :用WebSocket实现推送你必须考虑的几个问题目录:目录WebSocket简介项目背景硬件环境及客户端支持本文研究内容基于javaxwebsocket服务端代码源码后续补充git连接客户端代码问题探索如何做到支持几千个client同时在线人数后续1.WebSocket简介WebSocket_百度百科2.项目背景、硬件环境及客户端支持本项目通过WebSocket实现同时在线用户量5k推送服务器(可内网运行)。且可实时查看用户在线状

    2022年7月15日
    22
  • CocoaPods的install和update卡在“Anylyzing dependencies”的问题解决方式[效率]

    CocoaPods的install和update卡在“Anylyzing dependencies”的问题解决方式[效率]

    2021年12月9日
    38
  • 【已解决】罗技K380蓝牙键盘可以连接电脑,但无法输入怎么办?[通俗易懂]

    【已解决】罗技K380蓝牙键盘可以连接电脑,但无法输入怎么办?[通俗易懂]【问题】罗技k380可以连接并正常使用平板、手机。电脑显示着已连接,但就是无法输入。之前是可以用的,最近需要频繁配对突然不能用了。网上的各种方法都不好使,问京东客服也解决不了准备申请售后。【解决方案】后来仔细看了下k380使用方法,发现Fn+F1可以重置键盘的蓝牙设备,于是在电脑删除了k380蓝牙设备后,在蓝牙键盘上进行了Fn+F1重置,最后进行重启配对就ok了。可能是频繁配对让键盘有了缓存错误了。

    2022年10月16日
    3
  • Unity中Invoke方法[通俗易懂]

    Unity中Invoke方法[通俗易懂]Invoke()方法是Unity3D的一种委托机制如:Invoke(“SendMsg”,5); 它的意思是:5秒之后调用SendMsg()方法;使用Invoke()方法需要注意3点:1:它应该在脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用;2:Invoke(

    2022年5月7日
    250
  • executeSql之执行增删改查「建议收藏」

    executeSql之执行增删改查「建议收藏」transaction.executeSql(sqlquery[],dataHandler,errorHandler);第一个参数为需要执行的Sql语句,比如要在表中插入内容executeSql(‘INSERTINTOMsgDataVALUES(?,?,?)'[],dataHandler,errorHandler)VALUES(?,?

    2022年5月11日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号