Long ago, there were periodicals called newspapers, and these newspapers were printed on paper, and people used to read them, and perhaps even share them. One unfortunate thing about this form of media is that every so often, someone would like an article so much, they would take it with them, leaving the rest of the newspaper behind for others to enjoy. Unfortunately, because of the way that paper was folded, not only would the page with that article be gone, so would the page on the reverse side and also two other pages that were physically on the same sheet of folded paper.
For this problem we assume the classic approach is used for folding paper to make a booklet that has a number of pages that is a multiple of four. As an example, a newspaper with 12 pages would be made of three sheets of paper (see figure below). One sheet would have pages 1 and 12 printed on one side, and pages 2 and 11 printed on the other. Another piece of paper would have pages 3 and 10 printed on one side and 4 and 9 printed on the other. The third sheet would have pages 5, 6, 7, and 8.
When one numbered page is taken from the newspaper, the question is what other pages disappear.
1 11 12 3 4 10 4 5 6Problem Source ACM Mid-Central Programming Competition 2013
#includeint main() { int N,p,m,tp,p1,p2,p3; while(scanf("%d",&N)>0&&N) { scanf("%d",&p); m=N/4; if(2*m>=p) { tp=(p+1)/2; int k1=1,k2=N; for(int i=2;i<=tp;i++) k1+=2,k2-=2; if(k1!=p)p1=k1;else p1=k1+1; p2=k2-1; p3=k2; } else { tp=(p-m*2+1)/2; int k1=m*2,k2=m*2+1; for(int i=2;i<=tp;i++) k1-=2,k2+=2; if(k2!=p)p3=k2;else p3=k2+1; p1=k1-1;p2=k1; } printf("%d %d %d\n",p1,p2,p3); } }