zoukankan      html  css  js  c++  java
  • 小游戏game

    Description

    【题目背景】
    yk同学是一个灰常灰常有爱的同学,虽然各种老师总是让他干看似很无聊的事情,但是他总是发明一些好玩的办法来完成这些无聊的任务,这样yk就不会整天那么忧郁啦~ 这次,老师又给他布置了一个任务,让他搬凳子~~ 当然他非常有爱地把这个任务发展成了一个小小小游戏~ hoho,现在他让你来玩这个小游戏,have a try~

    【题目描述】
    现在有M个凳子排成一个圈,我们顺时针给凳子依次编号为1,2,3……,M。我们从编号为S的凳子开始,每次先顺时针数N个凳子,将第N个凳子搬走,然后再逆时针数K个凳子,将第K个凳子搬走。每次都这样先顺时针数N个,再逆时针数K个,直到只剩1个凳子,直接搬走。最后,我们想知道M个凳子的搬走顺序。

    Input

    共4行,每行1个数,分别表示题目中的M,S,N,K。

    Output

    仅一行,凳子搬走的序列,每个编号间有一个空格。

    Sample Input

    8
    1
    3
    2

    Sample Output

    3 1 5 2 7 4 6 8

    Hint

    【数据范围】
    100% M<=1000

    分析
    这就是一道模拟题,bz表示当前的状态(顺时针还是逆时针),t指向当前凳子的编号,s1表示当前状态的数了的第几个凳子。

    程序:

    var
    m,s,n,k,tj:longint;
    f:array[0..2000]of boolean;
    
    procedure init;
    begin
        readln(m);
        readln(s);
        readln(n);
        readln(k);
        fillchar(f,sizeof(f),true);
        tj:=0;
    end;
    
    procedure main;
    var
    bz,t,s1:longint;
    begin
        bz:=1;t:=s-1;s1:=0;
        while tj<m do
        begin
            if bz=1 then
            begin
                inc(t);
                if t>m then t:=1;
                if f[t]=true then inc(s1);
                if s1=n then
                begin
                    write(t,' ');
                    bz:=2;
                    s1:=0;
                    f[t]:=false;
                    inc(tj);
                end;
            end else
            if bz=2 then
            begin
                dec(t);
                if t<1 then t:=m;
                if f[t]=true then inc(s1);
                if s1=k then
                begin
                    write(t,' ');
                    bz:=1;
                    s1:=0;
                    f[t]:=false;
                    inc(tj);
                end;
            end;
        end;
    end;
    
    begin
        init;
        main;
    end.
    
    
    
  • 相关阅读:
    RHEL7全新初始化进程管理systemd(图形启动和非图形启动切换)
    Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)
    linux系统主要常见目录结构
    Linux系统文件访问控制列表
    Linux命令-sudo
    Linux系统文件的隐藏属性
    Linux系统文件权限&目录权限
    Linux系统VIM编辑器
    Linux功能-环境变量
    Linux系统PATH变量配置
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500075.html
Copyright © 2011-2022 走看看