ClearAll["Global`*"]

h=1;w=1; (* unit square *)

NR=43;NC=75;Print["Page with ",NR," rows and ",NC," columns will hold up to ",Ceiling[((NR NC)/2)]," glasses."] ;

upperBoundsOnRadius:={(h/(NR+1)),(w/(NC+1)),r/.FullSimplify[Solve[4(r^2)==(((((h-2r)/(NR-1))))^2)+(((((w-2r)/(NC-1))))^2),r]][[2]]}

upperBoundsOnRadius

N[upperBoundsOnRadius]

N[Min[upperBoundsOnRadius],35]

NR=45;NC=78;Print["Page with ",NR," rows and ",NC," columns will hold up to ",Ceiling[((NR NC)/2)]," glasses."] ;

upperBoundsOnRadius

N[upperBoundsOnRadius]

N[Min[upperBoundsOnRadius],35]

NR=51;NC=88;Print["Page with ",NR," rows and ",NC," columns will hold up to ",Ceiling[((NR NC)/2)]," glasses."] ;

upperBoundsOnRadius

N[upperBoundsOnRadius]

N[Min[upperBoundsOnRadius],35]

NR=43;NC=75;Print["Page with ",NR," rows and ",NC," columns will hold up to ",Ceiling[((NR NC)/2)]," glasses."] ;

R=Min[upperBoundsOnRadius]

Reap[For[row=0,row<NR,row++,For[col=Mod[row,2],col<NC,col+=2,Sow[N[{R+(((1-2R)col)/(NC-1)),R+(((1-2R)row)/(NR-1))},50]];];];]//TableForm

Reap[For[i=0,i<5;i++,(Print[i];Sow[{i,i}])]]