D : 436 자
import std.algorithm, std.random, std.range, std.stdio, std.typecons;
void main(string[] g)
{
alias canFind w;
alias tuple t;
auto s = g[2];
auto e = w(s, "g") ? t(10, 30) : w(s, "Su") ? t(20, 40) : w(s, "W") ? t(-5, 15) : t(5, 25) ;
auto r = rndGen();
int v()
{
r.popFront();
return e[0] + cast(int)(r.front % (e[1] - e[0]));
}
auto x = findSplitBefore(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], [g[1]]);
foreach(q; chain(x[1], x[0]))
writefln("%s %s", q, v());
}
불필요한 공백이 제거 된 버전 (436 자)
import std.algorithm,std.random,std.range,std.stdio,std.typecons;void main(string[] g){alias canFind w;alias tuple t;auto s=g[2];auto e=w(s,"g")?t(10,30):w(s,"Su")?t(20,40):w(s,"W")?t(-5,15):t(5,25);auto r=rndGen();int v(){r.popFront();return e[0]+cast(int)(r.front%(e[1]-e[0]));}auto x=findSplitBefore(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],[g[1]]);foreach(q;chain(x[1],x[0]))writefln("%s %s",q,v());}