1 solutions
-
0
C :
#include <stdio.h> #include <stdlib.h> int main() { int n; scanf("%d", &n); int a[1000] = {0}; int i=0, j=0, m; for (i=0; i<n; i++) a[i] = i+1; i=0; for (m=0; m<n; m++) { j=0; while (j<3) { while (a[i] == 0) i = (i+1) % n; if (j==2&&m!=n-1) { a[i]=0; } i = ((i+1) % n); j++; } } i = i-1; if (i<0) i=n-1; printf("%d\n", a[i]); return 0; }C++ :
#include <stdio.h> int main() { int n, i, cur; int next[1000]; scanf("%d", &n); for (i = 0;i < n;i++) next[i] = (i + 1) % n; cur = 0; for (i = 0;i < n - 1;i++) { cur = next[cur]; next[cur] = next[next[cur]]; cur = next[cur]; } printf("%d\n", cur + 1); return 0; }
- 1
Information
- ID
- 17776
- Time
- 1000ms
- Memory
- 32MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By