Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for(int i = 1; i <= n / 2; i++) {
- memset(vis, 0, sizeof(vis));
- path[cur] = 0;
- cur++;
- path[cur] = i;
- cur++;
- int l = i, r = i;
- vis[0] = true;
- vis[i] = true;
- for(int j = 0; j < n - 2; j++) {
- if(j % 2 == 0) {
- while(vis[l]) {
- l--;
- if(l < 0) l += n;
- }
- vis[l] = true;
- path[cur++] = l;
- }
- else {
- while(vis[r]) {
- r++;
- if(r == n) r -= n;
- }
- vis[r] = true;
- path[cur++] = r;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement