## Solving PE problems multiple times.

### Solving PE problems multiple times.

To start off, I was first introduced to PE by a friend in Spring 2011. I liked solving the problems, so as user 'vamsikal' I solved about 76 problems in Haskell/Scala then and stopped for various reasons. Then again, in Spring of 2014, I started solving PE problems and this time around as 'vamsikal2' and solved about 65 problems in Java. Again as 'vamsikal3', in Summer of 2016, I started solving PE problems again and solved 351 problems using a mixture of primarily Haskell/C++/Java/Rust/Python. I think re-solving PE problems is not a bad idea, because especially if your previous solutions consumed more time or memory you could try to come up with better solutions this time around, and also, you will have access to the "solution threads" where you can see other solutions and try to understand and implement them. Ideally I would have liked to have one-account with different problem-solving histories, but it is not too hard to create a new account and start on a new problem solving journey. I was thinking of starting to solve problems from scratch again, this time using C++17 with GMP for big numbers. Because for some reason quite a few of my Haskell solutions consume a lot of memory, while the equivalent C++ solutions don't consume as much memory. I was just interested in knowing what my fellow PE enthusiasts think of this....

my friend key --> 990813_OZPwQtCjkD6KlvxirOoTSZxccMFsuw1L

### Re: Solving PE problems multiple times.

On the account page there is an option Reset Progress, which marks all problems as unsolved. Using it might be preferable to creating multiple accounts. You might want to save your solutions in a text file before pulling the trigger, just in case you want to regain access to the forums.

That said, I also had a different account a long time ago when there were less than 200 problems and I solved almost all of them. I have forgotten the password I used and decided to create a new account recently. It has been very nostalgic to solve some of the same problems now, a full decade later. But I find it much more fun to attempt new problems instead of dwelling on the same old stuff. I don't think I'll ever do an intentional restart again.

I have used some of the easier problems as practice when learning a new language, but for that seeing the solution on the problem page doesn't matter. Submitting a solution and seeing the green tick is of course satisfying, but if I know I know the solution already, it doesn't feel the same.

That said, I also had a different account a long time ago when there were less than 200 problems and I solved almost all of them. I have forgotten the password I used and decided to create a new account recently. It has been very nostalgic to solve some of the same problems now, a full decade later. But I find it much more fun to attempt new problems instead of dwelling on the same old stuff. I don't think I'll ever do an intentional restart again.

I have used some of the easier problems as practice when learning a new language, but for that seeing the solution on the problem page doesn't matter. Submitting a solution and seeing the green tick is of course satisfying, but if I know I know the solution already, it doesn't feel the same.

Technically, everyone is full of himself.

### Re: Solving PE problems multiple times.

I am aware of the Reset Progress button, and I do not wish to use it, as I would lose all of the progress. Ideally, instead of a 'Reset Progress' I would have preferred a new 'Problem Solving History', but I can get the equivalent by creating a new account. My reason for wanting to go back and redo some problems is that some of my solutions in Haskell seemed to take quite a lot more time and memory compared to the equivalent C++ solutions, so I would like to explore solving problems using C++, especially since I have figured out that with GMP C++ has as good a big number support as other languages. So my goal is to check whether I can increase the speed and reduce memory usage over my current solutions.

my friend key --> 990813_OZPwQtCjkD6KlvxirOoTSZxccMFsuw1L

### Re: Solving PE problems multiple times.

For just comparing implementations in different languages, I confess I don't really see the point. Lots of people do this already, as can be seen on the forums; Haskell and C/C++ are one common pair. I used to keep track of which language(s) I used to solve each problem, and sometimes I created multiple solutions, but never saw a need for separate user accounts.

Especially for the harder problems with <200 solvers, submitting the answer with multiple active accounts would skew the statistics. I don't think there are many people doing it though.

Especially for the harder problems with <200 solvers, submitting the answer with multiple active accounts would skew the statistics. I don't think there are many people doing it though.

Technically, everyone is full of himself.

### Re: Solving PE problems multiple times.

I was thinking of not just implementing the same algorithm in C++ that was previously implemented in Haskell. I was thinking of potentially coming up with better algorithms to solve the same problems. It is just that this time around I was thinking of using C++ with GMP as the implementation language. There is probably no need to create another account to keep track of progress. If I solve the same problem with a different algorithm, then I don't think I am skewing statistics if I submit that as another solution to the same problem.

my friend key --> 990813_OZPwQtCjkD6KlvxirOoTSZxccMFsuw1L

### Re: Solving PE problems multiple times.

Haha! I have wasted enough time solving problems once to consider starting again!

### Re: Solving PE problems multiple times.

I am pretty new but I like redoing problems that I did in Haskell in λ-calculus.

Doing the problems in λ-calculus goes really slow though. But it is really fun. It definitely makes redoing problems more interesting.

Doing the problems in λ-calculus goes really slow though. But it is really fun. It definitely makes redoing problems more interesting.