• 2012华为2011年9月17日上机题目之约瑟夫环模拟法实现程序


     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4 
     5 #define MAXN 10
     6 
     7 struct Node
     8 {
     9     int index;
    10     Node* next;
    11 };
    12 
    13 class YSF
    14 {
    15     public:
    16         int n;//规模
    17         int m;
    18         Node* top;
    19         Node* bottom;
    20         Node* t;
    21         YSF(int ln,int lm)
    22         {
    23             n=ln;
    24             m=lm;
    25             top=new Node();
    26             bottom=top;
    27             top->index=0;
    28             for(int i=1;i<n;i++)
    29             {
    30                 t=new Node();
    31                 bottom->next=t;
    32                 t->index=i;
    33                 bottom=t;
    34             }
    35             bottom->next=top;
    36         }
    37         int getYSF()
    38         {
    39             int re=0;
    40             Node* t;
    41             for(int i=0;i<n-1;i++)
    42             {
    43                 for(int j=0;j<m-1;j++)
    44                 {
    45                     top=top->next;
    46                 }
    47                 //删除后面的一个结点 
    48                 t=top->next->next;
    49                 delete top->next;
    50                 top->next=t;
    51                 top=t;
    52             }
    53             return top->index;
    54         }
    55 };
    56 
    57 int main()
    58 {
    59     YSF* ysf=new YSF(10,6);
    60     cout<<ysf->getYSF();
    61     delete ysf->top;
    62     getchar();
    63 }
    作者:W.M.steve
    出处:http://www.cnblogs.com/weisteve/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    模拟赛QAQ
    复习计划
    luogu P1080 国王游戏
    [NOIP2012T3]开车旅行
    luogu P1967 货车运输
    同余方程组的扩展欧几里得解法
    luogu P1476 休息中的小呆
    GRYZY #13. 拼不出的数
    GRYZY- #10. 财富
    GRYZY #8. 公交车
  • 原文地址:https://www.cnblogs.com/weisteve/p/2179989.html
Copyright © 2020-2023  润新知