1 #include
2
3 struct node {
4 int data;
5 node *next;
6 };
7
8 int main() {
9 int n, m;
10 node *head, *p, *r;
11 scanf("%d%d", &n, &m);
12 head = new node;
13 head->data = 1;
14 head->next = NULL;
15 r = head;
16 for (int i=2; i<=n; i++) {
17 p = new node;
18 p->data = i;
19 p->next = NULL;
20 r->next = p;
21 r = p;
22 }
23 r->next = head;
24 r = head;
25 for (int i=1; i<=n; i++) {
26 for (int j=1; j<=m-2; j++)
27 r = r->next;
28 r->next = r->next->next;
29 r = r->next;
30 }
31 printf("%d\n", r->data);
32 return 0;
33 }