11 lines
361 B
Text
11 lines
361 B
Text
fcn zz(n){
|
|
grid := (0).pump(n,List, (0).pump(n,List).copy).copy();
|
|
ri := Ref(0);
|
|
foreach d in ([1..n*2]){
|
|
x:=(0).max(d - n); y:=(n - 1).min(d - 1);
|
|
(0).pump(d.min(n*2 - d),Void,'wrap(it){
|
|
grid[if(d%2)y-it else x+it][if(d%2)x+it else y-it] = ri.inc();
|
|
});
|
|
}
|
|
grid.pump(String,'wrap(r){("%3s"*n+"\n").fmt(r.xplode())});
|
|
}
|