Înainte de toate: Randall Munroe e un doctor în fizică de 25 de ani, genul ăla de om care a lucrat cu NASA înainte să termine faculta (pe bune). Totodată, e omul din spatele seriei de webcomics xkcd, pe care probabil că le ştiţi deja. Peste toate astea, e un băiat de comitet: în momentele în care dobitocii comentau ca nebunii că fur munca altuia şi o pun la mine pe site (flowchart-ul cu Computeriştii), fără să citească textul de deasupra imaginii, Randall se arăta bucuros că am făcut traducerea.
Revenind: Randall e un om foarte iubit de comunitatea reddit (pentru că e şi el geek, pentru că e deştept, pentru că e matematician şi probabil pentru că fute mai mult decât jumătate din redditori), drept pentru care a acceptat să ia parte la un interviu pentru aceasta, urmând să răspundă la întrebările adresate de către membrii reddit. Una dintre aceste întrebări a venit din partea unui român (salutări, dacă citeşti postul ăsta), şi e pur şi simplu epică:
Let’s assume you and your girlfriend want to go someplace together. For a day and only a day. And you’re a zero-income student in Romania. You’re living in Bucharest and, after analyzing your preferences, you’ve decided that you want to go to the seaside, somewhere around Neptun or Mangalia. You don’t have a car nor do you have a driver’s license, so you’ll do it by train and you’ll use the subway to get to the train station. Your dad could take you to the train station, but he’s working his butt off and you don’t want to bother him. Her dad would be willing to take you both to the station. And you’re interested in get a pretty cheap train ride. 35 lei is OK for both trips, 50 not so much. And you have a 60 lei road (with a detour) that solves your little subway problem or a 35 lei one problematic on the subway side.
Also, several people have told both of you that you’re crazy because you’re only doing this for a day and that really, money’s not that big of an issue if you go for two or three days. You’re kind of stubborn. There’s an air of spontaneity about the whole one day thing. Compactness, tightness. But you want to do it properly. Your 35 lei route only gives you about 4 hours of walking on the beach before you hop on back on the train. You could go via Constanța and take a minibus from there. But then you hit the money issue.
You seriously start reconsidering the whole thing. You’re going to leave a few more weeks to pass so you 2 can talk it out, find alternative destinations etc. etc. You start looking at potential other places. Piatra Neamț. Timișoara. Arad. A bit far. Târgu Jiu. Târgoviște. Brașov. Been there. Done that. Cluj is especially nice, as it’s somewhere none of you has been to and the train ride’s cheaper than the Neptun-via-Constanța thing. But you’d maybe want to make it two days anyways. And that’s another small logistics nightmare, because you don’t really now how cheap the accomodation can get or how many options you have (it’s a bit of a tourist city, but also a bit of an industrial one and a city with a big University). Plus the sea is what she wanted and you’d feel a bit awkward about changing the destination, although she doesn’t appear very bothered. And you’re not sure how many days your parents are comfortable with, financially.
What do you do?
You are allowed use this site for information on trains and you’re allowed to learn Romanian. To learn more about Romanian tourism, you can start on Wikipedia and there’s plenty of info about the country on the net.
For bonus points: generalize the problem (n people, a list of destinations, you get a function that describes each person’s preference towards a certain city and a graph or road information). What is the problem’s complexity class? Propose an algorithm. Compare the problem to traveling salesman.
Good luck, Mr. Munroe. Good luck.
Nimeni nu credea că va răspunde întrebării, dar a făcut-o. Poftiţi, aşadar: