站外题求助(玄关)
  • 板块学术版
  • 楼主Jason20110704
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/29 22:27
  • 上次更新2024/7/30 08:52:20
查看原帖
站外题求助(玄关)
1331835
Jason20110704楼主2024/7/29 22:27

约瑟夫问题

#include<bits/stdc++.h>
using namespace std;
struct node {
    int data;
    node *next;
};
node *head, *p, *r, *d;
int main() {
    int n, m;
    while(scanf("%d %d", &n, &m), n != 0 && m != 0) {
        head = new node;
        head->data = 1;
        head->next = NULL;
        r = head;
        for(int i = 2; i <= n; i++) {
            p = new node;
            p->next = NULL;
            p->data = i;
            r->next = p;
            r = p;
        }
        r->next = head;
        r = head;
        for(int i = 1; i < n; i++) {
            for(int j = 2; j <= m - 1; j++)
                r = r->next;
            d = r->next;
            r->next = r->next->next;
            r = r->next;
            delete d;
        }
        printf("%d\n", r->data);
        delete r;
    }
    return 0;
}

自己感觉没问题,但是一直是Wrong Answer 请各位大佬帮忙修改一下或看一下有没有数据能hack掉

2024/7/29 22:27
加载中...