Byli jsme takhle jednou na dvoutýdenním road-tripu po Skotsku a během něj jsme všichni střídavě platili různé společné výdaje: benzín, erární jídlo, mapy, parkování atd. Když jsme se pak vrátili domů bylo potřeba sepsat všechny účty, rozdělit výdaje a určit kdo kolik a komu dluží. V té době jsem si řekl, že by bylo fajn mít online aplikaci, kam by všichni přidali účty, co platili, a ona by pak všechno spočítala. Deštivé léto si zatím moc neužívám, ale alespoň zbylo trochu času na to, abych to konečně naprogramoval, a říkal jsem si, že by se taková aplikace mohla hodit třeba i dalším: vyuctovani.com.
Štítky
Odkazy
-
Nejnovější příspěvky
Rubriky
- .NET (5)
- Meta (1)
- Nezařazené (6)
- Programování-ostatní (4)
- Projekty (1)
Comments 2
To je šikovné, jen bych doporučil vyúčtování ve formě “ dostane “ spíš než současné “ zaplatí „. Věřitel je přece jenom motivovanější k vyrovnání než dlužník.
Krom toho mě napadlo, že pro n osob stačí k finančnímu vyrovnání n-1 transakcí (nemám podloženo důkazem), takže by bylo možné počet transakcí minimalizovat.
Každopádně chvályhodný počin.
Posted 16 Srp 2011 at 5.27 ¶Martine, díky za tvoje postřehy.
Zobrazení výsledků je asi nejslabší část, mám v plánu tam udělat několik tabů a v každém z nich různý způsob zápisu výsledků, ale ještě jsem se k tomu nedostal.
Vyrovnání počítám pomocí eliminace tranzitivních hran v grafu dlužníků
, a podle mě platí: žádné tranzitivní hrany => nejmenší možný počet transakcí, které vedou k vyrovnání. Nedělal jsem sice úplně formální důkaz, ale takový náčrtek ano. Že to pak zajistí i maximálně n-1 hran, mě ani nenapadlo, ale asi to bude pravda, protože žádné tranzitivní hrany => žádné cykly => v nejhorším případě to bude celé souvislé, takže strom a strom má právě n-1 hran.
Posted 16 Srp 2011 at 14.22 ¶Post a Comment