0
/ 100
Getting noticed, but rough fundamentals could turn visitors away.
Solved SPOJ problems
A low grade is a to-do list, not a judgment of your code
Most gaps here are documentation, tests, and setup, not the code itself. Closing your top 3 gaps alone would lift this repo to D (63).
See your top fixesTop fixes
Highest-impact changes first, ranked by point weight
- 1Tests18pt
Add automated tests. They prove the code works and give contributors confidence to make changes.
- 2CI/CD14pt
If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
- 3README12pt
Break it into sections (Overview, Install, Usage, Contributing) using Markdown headings.
- 4README12pt
Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
Working through the fixes? Let every push regrade itself.
The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.
Scorecard
Every check, grouped by category and sorted worst-first
Documentation
34
No install instructions found in the README (−45 pts).
→ Add a section showing how to install dependencies.
No CONTRIBUTING.md found (−47 pts base + up to −53 pts more for content).
→ Add a CONTRIBUTING.md telling newcomers how to get involved. Include setup, code style, test, and PR instructions.
README is present.
Licensed under Unlicense.
Engineering
0
No tests detected anywhere in the repository.
→ Add automated tests. They prove the code works and give contributors confidence to make changes.
No CI configuration detected in this repository.
→ If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
No linter or formatter config found.
→ Add a linter config such as .eslintrc.json, .prettierrc, ruff.toml, or .golangci.yml to enforce consistent code style.
No dependency lockfile found (−70 pts).
→ Commit the lockfile for this project's package manager so installs produce the same dependency versions everywhere.
No issue or PR templates found (−100 pts).
→ Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
Project health
68
No dependency manifest detected at root.
→ Add a manifest (package.json, pyproject.toml, Cargo.toml, go.mod, etc.) so others can install dependencies in one command.
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- -Commits (30d / 90d)
- 101Forks
- 0Releases
Community
- -Community health
- -authors own >50% of commits
- 251Watchers
Responsiveness
- 15d 8hMedian issue response
- -Median PR merge time
- 0Open issues
Repository files888 root entries
- .gitignoreGood: .gitignore present.
- aba12d.cpp
- abcd.cpp
- abcdef.cpp
- abcpath.cpp
- absp1.cpp
- absys.cpp
- acargo.cpp
- acfrac.py
- acmaker.cpp
- acode.cpp
- acpc10a.cpp
- acpc10d.cpp
- acpc10e.cpp
- acpc11b.cpp
- acquire.cpp
- acs.cpp
- act.cpp
- addrev.cpp
- adomino.cpp
- adv04j.cpp
- ae00.cpp
- ae1b.cpp
- ae2a.cpp
- ae2b.cpp
- ae5b2.cpp
- aerolite.cpp
- aggrcow.cpp
- aibohp.cpp
- alibb.cpp
- alicebob.cpp
- alicesie.cpp
- alien.cpp
- aliens.cpp
- all.cpp
- altars.cpp
- amath.py
- ambm.cpp
- amcodes.cpp
- amr10g.cpp
- amr11e.cpp
- amr12d.cpp
- amzrck.cpp
- amzseq.cpp
- analyser.cpp
- anarc05b.cpp
- anarc05h.cpp
- anarc08b.cpp
- anarc08g.cpp
- anarc08h.cpp
- anarc09a-1.cpp
- anarc09a-2.cpp
- anarc09b.cpp
- angels.cpp
- ap2.cpp
- aprime.cpp
- aps.cpp
- archplg.cpp
- arctan.pas
- arith.cpp
- arith2.cpp
- army.cpp
- aroad.cpp
- around.cpp
- arrange.cpp
- arraysub.cpp
- assign.cpp
- assist.cpp
- atms.py
- baabo
- babtwr.cpp
- backpack.cpp
- backup.cpp
- baised.cpp
- balife.cpp
- ball1.cpp
- ballight.cpp
- balloon.cpp
- bandw.cpp
- barb.cpp
- base.cpp
- bc.cpp
- beads.cpp
- beenums.cpp
- benefact.cpp
- bia.cpp
- bicycle.cpp
- billiard.cpp
- bingo.cpp
- binstirl.cpp
- birthday.cpp
- bishops.cpp
- bitmap.cpp
- blinnet.cpp
- blueeq2.cpp
- bmj.cpp
- boi7seq.cpp
- bomarble.cpp
- bonfire.cpp
- book.cpp
- bookcase.cpp
- books1.cpp
- boole.cpp
- bottom.cpp
- boxes.cpp
- bpred.cpp
- brckgame.cpp
- brckts.cpp
- brhar.cpp
- bri.cpp
- bricks-1.cpp
- bricks-2.cpp
- brii.cpp
- broken.cpp
- broul.cpp
- brow.cpp
- bsheep.cpp
- btour.cpp
- buglife.cpp
- bulk.cpp
- bundle.cpp
- bus-1.cpp
- bus-2.cpp
- busyman.cpp
- bwheeler.cpp
- bwidow.cpp
- byecakes.cpp
- bytese1.cpp
- bytese2.cpp
- bytesm2.cpp
- cabletv.cpp
- cadydist.cpp
- cake.cpp
- cake2.cpp
- cake3.cpp
- calculat.py
- calls.cpp
- candy.cpp
- candy2.cpp
- candy3.cpp
- canton.cpp
- capcity.cpp
- cardshuf.cpp
- cashier.cpp
- catm.cpp
- cattleb.cpp
- cave.cpp
- ccross.cpp
- ccrossx-1.cpp
- ccrossx-2.cpp
- cdown.cpp
- cerc07b.cpp
- cerc07c.cpp
- cerc07h.cpp
- cerc07k.cpp
- cerc07l.cpp
- cerc07n.cpp
- cerc07p.cpp
- cerc07r.cpp
- cerc07s.cpp
- cerc07w.cpp
- cfrac.cpp
- cfrac2.cpp
- ch3d.cpp
- chain.cpp
- chase.cpp
- chase1.cpp
- chicago.cpp
- chocola.cpp
- chris.cpp
- circles.cpp
- cistfill.cpp
- civil.cpp
- cleanrbt.cpp
- cliqsep.cpp
- clk.cpp
- clone.cpp
- cltz.py
- cmexpr.cpp
- cmpls.cpp
- cneasy.cpp
- cnhard.cpp
- coconuts.cpp
- code.cpp
- code1.cpp
- codesptb.cpp
- coef.cpp
- coins.cpp
- colcoin.cpp
- comcb.cpp
- comdiv.cpp
- commedia.cpp
- company.cpp
- conduit.cpp
- contest.cpp
- contpack.cpp
- coolnums.cpp
- cornet.cpp
- count.c
- courier.cpp
- cover.cpp
- cover2.cpp
- cowcar.cpp
- cowpic.cpp
- cpc.cpp
- cpcrc1c.cpp
- cprmt.cpp
- crds.cpp
- crscntry.cpp
- crypto.cpp
- crypto1.cpp
- cstreet.cpp
- ctain.cpp
- ctgame.cpp
- ctrick.cpp
- cube.py
- cubefr.cpp
- cubert.py
- cubes.cpp
- cutout.cpp
- cutsqrs.cpp
- cwc2015.cpp
- cylinder.cpp
- cz_prob1.cpp
- cz_prob2.cpp
- dance.cpp
- danger.cpp
- dcepc504.cpp
- deadfr.cpp
- decorate.cpp
- delcomm.cpp
- delcomm2.cpp
- depend.cpp
- desert.cpp
- deter2.cpp
- dfloor.cpp
- dice1.cpp
- dictsub.cpp
- diehard.cpp
- dirvs.cpp
- distance.cpp
- disubstr-1.cpp
- disubstr-2.cpp
- div.cpp
- div15.cpp
- div2.cpp
- divsum.cpp
- divsum2.cpp
- dna.cpp
- dnalab.cpp
- dnpalin.cpp
- dotaa.cpp
- double.cpp
- doublevi.cpp
- dpair.cpp
- dquery.cpp
- dragon.cpp
- dragon2.cpp
- dragoncu.cpp
- drink.cpp
- dsubseq.cpp
- dtt.cpp
- dyzio.cpp
- easypie.cpp
- eboxes.cpp
- ec_conb.cpp
- edge.cpp
- edist.cpp
- edit.cpp
- edit3.cpp
- egypizza.cpp
- eights.cpp
- ellipse.cpp
- emoticon.cpp
- empodia.cpp
- empty.cpp
- en.cpp
- encondin.cpp
- enigmath.cpp
- eopera.cpp
- eowamrt.cpp
- epurse.cpp
- eqbox.cpp
- eqdiv.cpp
- equ2.py
- etf.cpp
- european.cpp
- exchange.cpp
- exchng.cpp
- expand.cpp
- expedi.cpp
- explosn.cpp
- expr1.cpp
- express.cpp
- facefrnd.cpp
- fact0.cpp
- faironot.cpp
- faketsp.cpp
- family.py
- fancy.cpp
- farida.cpp
- farmer.cpp
- fashion.cpp
- fastflow.cpp
- favdice.cpp
- fcandy.cpp
- fcattle.cpp
- fctrl.cpp
- fctrl2.cpp
- fctrl4.cpp
- fence1.cpp
- fence3.cpp
- ferry.cpp
- fibosum.cpp
- fibosum2.cpp
- firm.cpp
- fisher.cpp
- flbrklin.cpp
- flowers.cpp
- fold.cpp
- fool.cpp
- football.cpp
- fpolice.cpp
- fractal.cpp
- fractan.cpp
- fraction.cpp
- frequent.cpp
- fseats.cpp
- fsheep.cpp
- ftour.cpp
- ftour2.cpp
- fusion.cpp
- galaxy
- galaxy.ws
- galou.cpp
- game.cpp
- gamefil.cpp
- games.cpp
- gametime.cpp
- gannhat.cpp
- garden.cpp
- gardenar.cpp
- gardenhu.cpp
- gcd2.cpp
- gcd3.cpp
- gcpc11f.cpp
- gen.cpp
- gen2.cpp
- genetic.cpp
- geom.py
- geoprob.py
- getback.cpp
- ghosts.cpp
- girlsnbs.cpp
- giveaway-1.cpp
- giveaway-2.cpp
- giwed.cpp
- glasnici.cpp
- gljive.cpp
- glue.cpp
- gny07a.cpp
- gny07b.cpp
- gny07c.cpp
- gny07d.cpp
- gny07e.cpp
- gny07f.cpp
- gny07g.cpp
- gny07h.cpp
- gnyr09f.cpp
- gossipers.cpp
- grc.cpp
- greed.cpp
- greedulm.cpp
- grocery.cpp
- gshop.cpp
- gss1.cpp
- gss2.cpp
- gss3.cpp
- gss4.cpp
- gss5.cpp
- guanggun.cpp
- guessthe.cpp
- hajime.txt
- hallow.cpp
- hamster1.cpp
- han01.cpp
- hangover.cpp
- hanoi07.cpp
- hanoical.cpp
- hardp.cpp
- hardp.py
- hardq.cpp
- hashit.cpp
- hc.cpp
- headshot.cpp
- heapulm.cpp
- hellokit.cpp
- help.cpp
- helpbtw.cpp
- helpr2d2.cpp
- hepnum.cpp
- here.cpp
- hexagon.cpp
- hfloor.cpp
- high.cpp
- highways.cpp
- hike.cpp
- histogra.cpp
- hitomiss.cpp
- hknap.cpp
- hmro.cpp
- holiday1.cpp
- holiday2.cpp
- horrible.cpp
- hospital.cpp
- hotels.c
- hotline.cpp
- hpynos.cpp
- hubullu.cpp
- icampseq.cpp
- icoder.cpp
- icpcs.cpp
- ieeebgam.cpp
- igarb.py
- iitkwpcb.cpp
- iitkwpco-2.cpp
- ikeyb.cpp
- im-1.cpp
- im-2.cpp
- image.cpp
- imatch.cpp
- imgproj.cpp
- imp.cpp
- import.cpp
- import1.cpp
- incards.cpp
- incr.cpp
- incseq.cpp
- indexgen.cpp
- interval.cpp
- inumber.cpp
- invcnt.cpp
- invent.cpp
- ivan.cpp
- jasiek.cpp
- javac.cpp
- jazzyjob-1.cpp
- jazzyjob-2.cpp
- jceasy.cpp
- jchard.cpp
- jleague.cpp
- jnext-1.cpp
- jnext-2.cpp
- jpix.cpp
- jride.cpp
- julka.cpp
- kamil.gawk
- kgss.cpp
- kmsl4b.py
- knapsack.cpp
- kpequ.py
- kpmatrix.cpp
- kpmaze.cpp
- kppoly.cpp
- kpsort.cpp
- kpsum.cpp
- kpursuit.cpp
- kquery.cpp
- krow.cpp
- kruskal.cpp
- labyr1.cpp
- labyr2.cpp
- landscap.cpp
- laser_beam.cpp
- lastdig.cpp
- lastdig2.cpp
- lazycows.cpp
- lazyprog.cpp
- lcs.cpp
- lcs2.cpp
- lemon.cpp
- lengfact.cpp
- leonardo.cpp
- lexbrac.cpp
- liar.cpp
- LICENSEGood: Licensed under Unlicense.
- lifts.cpp
- lineland.cpp
- lines.cpp
- lis2.cpp
- lisa.cpp
- lite.cpp
- litelang.cpp
- lmis.cpp
- logic.cpp
- logic2.cpp
- loner.py
- lostct.cpp
- lqdcandy.cpp
- lsort.cpp
- lwar.cpp
- m00pair.cpp
- m3tile.cpp
- major.cpp
- mangoes.cpp
- map.cpp
- marbles.py
- markup.cpp
- matching.cpp
- math1.cpp
- matriosh.cpp
- matrix.cpp
- matrix2.cpp
- matsum.c
- mawork.cpp
- maximus.py
- maxln.cpp
- may99_2.cpp
- maya.cpp
- mayacal.cpp
- maze.cpp
- mbeewalk.cpp
- mcirgame.py
- mcoins.cpp
- mdst.cpp
- memdis.cpp
- menu.cpp
- mergsort.cpp
- mflar10.cpp
- mfmobile.cpp
- micemaze.cpp
- mincount.cpp
- mindist.cpp
- minimax.cpp
- minmove.cpp
- minus.cpp
- mirrored.c
- miserman.cpp
- mixtures.cpp
- mkbook.cpp
- mkbudget.cpp
- mkjumps.cpp
- mklabels.cpp
- mkmoney.cpp
- mkmoom.cpp
- mkpairs.cpp
- mkpals.cpp
- mkwaves.cpp
- mland.cpp
- mlaserp.cpp
- mmaxper.cpp
- mmcut.cpp
- mmmgame.cpp
- mobile.cpp
- mobile2.cpp
- mole.cpp
- mon2012.cpp
- monodig.cpp
- morse.cpp
- moulds.cpp
- mrecaman.cpp
- mst.cpp
- mtwalk.cpp
- mul.cpp
- multq3.cpp
- music.cpp
- musket.cpp
- mwords.cpp
- myq1.cpp
- mzvrk.cpp
- naptime.cpp
- ncklce.cpp
- neg2.cpp
- netadmin.cpp
- ng0frctn-1.cpp
- ng0frctn-2.cpp
- ngm.cpp
- nhay-1.cpp
- nhay-2.cpp
- niceday-1.cpp
- niceday-2.cpp
- nitt2.cpp
- nkminers.cpp
- nkmobile.cpp
- nkteam.cpp
- nochange.cpp
- notatri.cpp
- nqueen.cpp
- nsteps.cpp
- nsystem.cpp
- numqdw.cpp
- ny10a.cpp
- ny10e.cpp
- offside.cpp
- ofortune.cpp
- ololo.cpp
- oneinstr.cpp
- onezero.cpp
- onp.cpp
- optm.cpp
- optsub.cpp
- orders-1.cpp
- orderset-1.cpp
- orderset-2.cpp
- origlife.cpp
- orz.cpp
- painttmp.py
- pairint.cpp
- palace.cpp
- paldr.cpp
- palim.cpp
- palin.cpp
- palsec-1.cpp
- palsec-2.cpp
- panic.cpp
- paradox.cpp
- parket1.cpp
- partit.cpp
- partpali.cpp
- partsum.cpp
- party.cpp
- paying.py
- pb.cpp
- pebble.cpp
- pebbmov.cpp
- period.cpp
- permalex.cpp
- permut1.cpp
- permut2.cpp
- pfdep.cpp
- phdisp.cpp
- phidias.cpp
- phonelst.cpp
- phony.cpp
- phrases.cpp
- pib.py
- picad.cpp
- pie.cpp
- pigbank.cpp
- pir.cpp
- pitpair.cpp
- platon.cpp
- pld.cpp
- plhop.cpp
- plonk.cpp
- plsearch.cpp
- pmatrix.cpp
- poker.cpp
- poleval.cpp
- polycode.py
- polyeq.py
- polygame.cpp
- pon.py
- posters.cpp
- pothole.cpp
- pour1.cpp
- ppath.cpp
- pqueue.cpp
- prime1.cpp
- primit.cpp
- prismsa.cpp
- prlgame.cpp
- prmlx.cpp
- pro.cpp
- profit.cpp
- pstring.cpp
- pt07a.cpp
- pt07b.cpp
- pt07c.cpp
- pt07d.cpp
- pt07f.cpp
- pt07h.cpp
- pt07j.cpp
- pt07x.cpp
- pt07y.cpp
- pt07z.cpp
- ptime.cpp
- pucmm025.cpp
- pucmm210.cpp
- pucmm334.cpp
- puzzle2.cpp
- qcj4.cpp
- qkp.cpp
- qtree.cpp
- qtree2.cpp
- quadarea.cpp
- quality.cpp
- queen.cpp
- quest4.cpp
- quest5.cpp
- quilt.cpp
- rabbit1.cpp
- railroad.cpp
- rain1.cpp
- rain2.cpp
- rain3.cpp
- ranjan02.py
- README.mdGood: README is present.Issue: README has little structure (−15 pts). Add 2-3 headings for +8 pts; 4+ earns +15 pts.Fix: Break it into sections (Overview, Install, Usage, Contributing) using Markdown headings.Issue: No screenshots or images in the README (−20 pts).Fix: Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.Issue: README has no code examples (−15 pts).Fix: Show a quick-start snippet so contributors can see what using your project looks like.Good: README links to a live demo or deployed app.Issue: No status badges in the README (−10 pts).Fix: Add CI/build status badges from shields.io or your CI provider to signal project health.Issue: No install instructions found in the README (−45 pts).Fix: Add a section showing how to install dependencies.Issue: No run or usage instructions found (−45 pts).Fix: Add a section showing how to start or use the project.
- rectangl.cpp
- rectng1.cpp
- rectng2.cpp
- relats1.cpp
- relinets.cpp
- remgame.cpp
- rent.cpp
- repeats.cpp
- resist.cpp
- rhombs.cpp
- righttri.cpp
- rng.cpp
- rnumber.py
- roadnet.cpp
- roads.cpp
- robot.cpp
- rock.cpp
- rollball.cpp
- roman.cpp
- romanrds.cpp
- root.py
- rootciph.cpp
- rpgames.cpp
- rplc.cpp
- rple.cpp
- rplh.cpp
- rrsched.cpp
- sa04d.cpp
- sam.cpp
- samer08f.cpp
- sarray.cpp
- sbank.cpp
- sbets.cpp
- sbstr1
- sbstr1.ws
- scale.cpp
- scales.cpp
- scanner.cpp
- scavhunt.cpp
- scities.cpp
- scpc11b.cpp
- scraper.cpp
- scubadiv.cpp
- scypher.cpp
- segvis.cpp
- seq.cpp
- seq1-1.cpp
- seq1-2.cpp
- seq2.cpp
- seqpar.cpp
- seqpar2.cpp
- sequence.cpp
- servers.cpp
- service.cpp
- setcov.cpp
- setstack.cpp
- shahbg.cpp
- shamans.cpp
- shop.cpp
- shortcut.cpp
- shpath.cpp
- silver.cpp
- skivall.cpp
- sleep.py
- snowman.cpp
- solit.cpp
- soparade.cpp
- sortbit.cpp
- speed.cpp
- spin.cpp
- split.cpp
- sprime.cpp
- sqcount.cpp
- sqdance.cpp
- sqrbr.cpp
- sqrroot.py
- stablemp.cpp
- stamps.cpp
- stead.cpp
- steve.cpp
- stone.cpp
- stopcity.cpp
- store.cpp
- stpar.cpp
- streetr.cpp
- ststring.cpp
- subs.cpp
- subseq.cpp
- subst1.cpp
- subsums.cpp
- sudoku.cpp
- sudoku2.cpp
- sum1seq.cpp
- sumfour.cpp
- sumitr.cpp
- sumsums.cpp
- supper.cpp
- swaps.cpp
- swthin.cpp
- table5x5.cpp
- tan1.cpp
- taut.cpp
- taxi.cpp
- tcnumfl.py
- tcount2.cpp
- tcount3.cpp
- tcutter.cpp
- tdkprime.cpp
- team2.cpp
- tem.cpp
- temptisl.cpp
- test.asm
- test.cpp
- tetra.cpp
- tetris3d.cpp
- tfoss.cpp
- tfsets.cpp
- threecol.cpp
- ticket.cpp
- tiling.cpp
- toandfro.cpp
- toe1.cpp
- toe2.cpp
- tohu.cpp
- tomjerry.cpp
- tour.cpp
- tours.cpp
- tower.cpp
- tperml.py
- trank.cpp
- trans.cpp
- transl.cpp
- transmit.cpp
- transp.cpp
- transp2.cpp
- treasury.hs
- treasury.py
- tree.py
- tree1.py
- tree2.cpp
- treegame.cpp
- trgrid.cpp
- tricentr.cpp
- tricount.cpp
- trika.cpp
- triopt.cpp
- trip.cpp
- tripart.cpp
- trstage.cpp
- trt.cpp
- truthorl.cpp
- tshow1.cpp
- ttable.cpp
- twends.cpp
- twice.c
- twinsnow.cpp
- twosqrs.cpp
- ucodes.cpp
- ucube.cpp
- ufast.cpp
- uj.py
- upsub.cpp
- usubqsub.cpp
- vhuffm.cpp
- vocv.cpp
- vonny.cpp
- water-2.cpp
- water.cpp
- widget.cpp
- wijgt.cpp
- wild.cpp
- willitst.cpp
- window1.cpp
- wmelon.cpp
- wordcnt.cpp
- wordeq.cpp
- words1.cpp
- worms.py
- wpc4f.cpp
- wpuzzles-2.cpp
- wpuzzles.cpp
- wscipher.cpp
- wstp.cpp
- xorround.cpp
- yapp.cpp
- ykh.cpp
- yodaness.cpp
- zoo.cpp
- zsum.cpp
- zzperm.cpp
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/t3nsor/spoj)