# Testing matplotlib

Matplotlib is a 2D graph plotting library for python. I have been wanting to try it for ages, so finally I did test it out.

There was a question bugging me while preparing for JEE Mains, **how many
possible combinations of answering questions correctly/incorrectly can lead me
to a particular score**.

JEE Mains is an MCQ exam, with 4 marks awarded for a right answer, 1 mark deducted for a wrong answer, and 0 for unattempted questions. It has 90 questions in total, so the maximum score is 360.

For example, to achieve a score of 340, there are two possible ways:

- Attempt all 90 questions, get 86 right and 4 wrong
- Attempt 85 questions and get all of them right

Similarly to achieve a score of 329, there’s just one way:

- Attempt 86 quesitons and get 83 right and 3 wrong

I’ll let the code (and the graph) talk now

```
import matplotlib.pyplot as plt
m = [0] * 361
for attempted in range(0, 91):
for correct in range(0, attempted+1):
score = correct*4 - (attempted-correct)
if score >= 0:
m[score] += 1
plt.xkcd()
plt.plot(m)
plt.title('JEE Mains')
plt.ylabel('No. of ways')
plt.xlabel('Marks')
plt.show()
```

**Inference:** There are a lot more ways to achieve a low score than a high
score, that’s the general trend. But the graph is bumpy. Some scores can be
achieved in more ways than the scores just adjacent to them.