Programming Challenge 2004.2

Originally posted by Cverick
bump, whoever won needs to post another challenge! ;p
heh heh...

uh, lets say that MS wins for the time he put in :)
 
Originally posted by tim
heh heh...

uh, lets say that MS wins for the time he put in :)

Sorry dude... :)

I violated the rules, and neither of my entries can be counted towards a win (and I said this up front in an earlier post). You asked for something that would run on your CS depertment's *nix server. The C# versions I wrote are disqualified because C# wasn't in the list of allowable languages. The C++ versions are disqualified because I bypass the C runtime libraries for memory allocation and thus it wouldn't be compilable as is on *nix system (you'd have to use the appropriate memory allocation calls for the system). Thus, I'm not eligable to be the winner, and thus don't own the next challenge :p.

I was just in it to see what I could come up with.

I did re-enable the URL for the url for the source\comments though: http://tchar.com/hc2004_2.txt


Anyway, at this point I don't have the available time to be able to run a competition like I did with the first one. It took time to collect entries, install various SDKs, and keep the results updated (this was for the N-Queens challenge last year) as people sent in version after version of their entries. If I get more time away from work this summer I'll run a couple.

However, if someone else wants to put one together, I can buy a piece of software as the prize or something since I can get a discount on some MS software.
 
I could run one, I've got a month before my flight services specialist course starts, but after that I may drop out of sight for a while, due to school and possibly not having an internet connection (oh noes!). If someone's got a challenge, and it'll take under a month, post it and I'll post my rules for what I'll accept (yes, I'd be quite willing to install new compilers/interpreters).
 
Originally posted by [MS]
...
However, if someone else wants to put one together, I can buy a piece of software as the prize or something since I can get a discount on some MS software.

Can I suggest Visual Studio .NET 2003? ;)

I was peeved to see that an add-on piece of software (see my other thread) needs 2003, and I have 2002 Academic. :(

FuzzyDonkey, if you need help finding a challenge, I'll see if I can find something later today.
 
ok, pending carl posting a challenge (I suck at coming up with them, finding them, etc.), here are my submission rules:

- If you want to make things easy for me, restrict yourselves to Perl, Python 2.3, C, and C++. I won't complain if you don't though. I currently have activestate Perl 5.8, Python 2.3, and STL's MinGW distro installed. I would prefer not to install other compilers/interpreters for those languages, but if you can give me a good reason, I will.

- You can write stuff in any language, IF you provide me with a link so that I can dl compiler/interpreter/RE/whatever from a reputable site that will run on this system, using WinXP Home:
http://www.hp.ca/products/static/presario-notebooks/2198ca.php
don't tell me to look on a geocities site, but if you're having trouble finding one, I'll accept stuff from http://www.thefreecountry.com/
I don't imagine more that 10 people, if that, are going to enter, so I doubt this'll be a problem.

- I'll only accept source, not pre-compiled executables.

- If I can't get it to compile/run, I'll PM you. I'm willing to do a fair bit of work to get your submissions working, but please give me clear instructions (makefiles, command line options, please no environment variable, though.)

- Like I said earlier, I'm moving in a month (May 23rd/24th), and likely losing my internet connection for a bit. So if the contest isn't over by then, I'll try to offload it to someone else.

- If I think something is breaking the rules of the problem, I'll PM you, and you can either fix it or convince me that it doesn't break the rules.

- I'll frown heavily on programs that don't compile w/o warnings/errors. Obfuscate them all to hell if you like, but make sure they compile (or whatever) cleanly. Points for small code size, clean code, runtime and memory efficiency, design, reasonable documentation/self documenting code, and interesting (even if inefficient) solutions.

- If you don't want to submit something in the forum itself, PM me and I'll give you my email address. I'd prefer it if some of the more advanced guys at least gave hints to possible solutions, though, if they're not going to post their source before the contest ends. The whole point of these things (IMO) is to learn new ways of doing things, so talking about solutions makes sense.

anyone else have other things they'd like for submission rules?
 
FuzzyDonkey: Your rules look good. The only thing I can think of is that you might want to include Java in the list. Personally, I program in Perl, but I know there are a fair number of Java lovers in the group.

Also, I'm considering combining my learning of C# (going to purchase a book tonight, perhaps) with the challenge. Thus, perhaps you can allow for other languages if either you or an impartial third-party (non-entrant) can compile/run them.

I'll look around for a challenge.
 
Originally posted by carl67lp
FuzzyDonkey: Your rules look good. The only thing I can think of is that you might want to include Java in the list. Personally, I program in Perl, but I know there are a fair number of Java lovers in the group.

Also, I'm considering combining my learning of C# (going to purchase a book tonight, perhaps) with the challenge. Thus, perhaps you can allow for other languages if either you or an impartial third-party (non-entrant) can compile/run them.

I'll look around for a challenge.

I'm willing to install stuff, I just don't want to search for it. Provide DL links for compilers/interpreters, and I'll accept anything.

edit: The reason I don't want to search for it isn't that I'm lazy, I just don't want to run into confusion about using a different version of a compiler than they are, and running into problems because of that.
 
Originally posted by carl67lp
FuzzyDonkey: Your rules look good. The only thing I can think of is that you might want to include Java in the list. Personally, I program in Perl, but I know there are a fair number of Java lovers in the group.

Also, I'm considering combining my learning of C# (going to purchase a book tonight, perhaps) with the challenge. Thus, perhaps you can allow for other languages if either you or an impartial third-party (non-entrant) can compile/run them.

I'll look around for a challenge.

I do believe the .NET compiler can be had for free.
 
Originally posted by carl67lp
Can I suggest Visual Studio .NET 2003? ;)

I was peeved to see that an add-on piece of software (see my other thread) needs 2003, and I have 2002 Academic. :(

FuzzyDonkey, if you need help finding a challenge, I'll see if I can find something later today.

Perhaps if\when I host a challenge... While I am able to get VS at a discount, it's still no small chunk of change. I can't afford to simply buy copies and give them away. :|

I was thinking more along the lines of MSG titles, or perhaps even an OS or something.


As for VS2003, it's too bad you didn't get in on the 2002->2003 upgrade promotion. The upgrade was $20 I think. Most students can get VS for far cheaper than I ever could, so if you're still a student you could check with your school. Alternatively I might be able to spring one of the standard SKUs (like VC# 2003).

Sgarissta: Yes, the .NET framework comes with the C#, VB, and JScript compilers. Additionally, a simplified GUI debugger is available for free, though that's in the SDK.
 
Yea, I think you'd better wait until you run it. I don't have a problem with prizes, but since I'm still unemployed for another month(the reason for my ample free time :rolleyes: ), I don't have the money to buy one myself, and I don't feel comfortable saying that you should buy something for someone based on my judgements.

Though if you have an idea for a problem, I'd happily accept your idea :D. carl and I are having a heck of a time coming up with something complex enough to be interesting, but that still has simple solutions so that anyone could do it.
 
One idea I was playing with:

Have something where user submited algorithms try and beat one another....
It'd require writing a web page that could host\load assemblies written by any user. Then expose a compiler to the web so that users can submit code that gets compiled and run against what others have submitted. I've been thinking about this and know how to do it securely, just don't have the time to implement it.


That probably doesn't help you much though...

What about drawing a fractal, code breaking, or simple compression? Or maybe something to do with extremely large numbers. Calculate the exact sum of 100000 factorial? The 12,000,000th twin prime?
 
FuzzyDonkey and I were playing around with figuring out something that would do something "useful," but not be so generalized as that. An example I gave was a duplicate file checker (really just a regex file mover). Something that would perform a task, but be somewhat challenging to code.

Math-oriented problems can be too tough sometimes, methinks. The last challenge was pretty good in that it wasn't overly complicated, but was challenging enough indeed.
 
Originally posted by [MS]
What about drawing a fractal, code breaking, or simple compression? Or maybe something to do with extremely large numbers. Calculate the exact sum of 100000 factorial? The 12,000,000th twin prime?
something to keep in mind when making challenges is that it might not be a good idea to create a challenge that is a common cs homework assignment. one of my assignments was to do variable precision integers with linked lists so one could do large factorials. maybe we need a disclaimer.....
 
Originally posted by tim
something to keep in mind when making challenges is that it might not be a good idea to create a challenge that is a common cs homework assignment. one of my assignments was to do variable precision integers with linked lists so one could do large factorials. maybe we need a disclaimer.....

Yeah, that's why I was thinking of something not quite so "theoretical."
 
OK, how complex do you want to get? How about rendering a wireframe representation of an arbitrary object, using only your own basic 3D engine (no Direct3d or other commercial rendering libraries allowed)? Probably beyond my current ability, but we've got some pretty talented guys here, so I'd say it was doable. Hell, we might even all learn something....

You'd probably have to set some specifics for the task, like the ability to rotate and pan around the object using some form of user interface.
 
Well, :LJ:, I know that would count me right out!

Perhaps we need two challenges: One for the really talented chaps, and another for people like me who do Web programming most of the time, and have never done a lick of GUI stuff.
 
Originally posted by :LJ:
OK, how complex do you want to get? How about rendering a wireframe representation of an arbitrary object, using only your own basic 3D engine (no Direct3d or other commercial rendering libraries allowed)? Probably beyond my current ability, but we've got some pretty talented guys here, so I'd say it was doable. Hell, we might even all learn something....

You'd probably have to set some specifics for the task, like the ability to rotate and pan around the object using some form of user interface.

Or allow people to use OpenGL, DirectX or another library for writing to the screen, but don't allow them to use the 3d portions of the libraries, represent a 3d object in a 2d drawing window. The other parts can be hard/complex (though certainly acheivable, IMO, it's really just high school algebra & geometry), but figuring out how to write to the screen is more tedious than difficult, especially when you get down to OS and graphics card specific stuff.

maybe something to render a VRML Indexed Face Set as a wireframe (just to have everyone using the same input file format), with options to define the viewing frustrum co-ordinates?

I did a fair amount of VRML and OpenGL in college, though, so maybe I think it's easier than it really is. I don't think I do, though.
 
If you guys are looking for problems to do to hone your skills, check out the Valladolid Programming Contest http://acm.uva.es/problemset/ . This has got to be one of the biggest problem archives I've ever seen. Apparently you can actually submit your solutions to their judges and see what they say. I've never tried that though.
 
Back
Top