codex666's blog

By codex666, history, 20 months ago, In English

Hello all What is the best way to practice multithreading and concurrency of complex systems. Is there a place similar to code forces that would help me develop the skill?

Thank you

Full text and comments »

  • Vote: I like it
  • +5
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

How do I select the list of problems from the problem set that could be any topic except math for example

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

As a request and suggestion to problem setters instead of setting questions on common DSA CP topics, it would be nice to once in a while introduce problems that would be part of commonly used algorithm in OS, compilers and other important CS topics and this would be a great way to learn CS fundamentals. What does the brethen think?

Full text and comments »

  • Vote: I like it
  • -30
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

Why isn't the top prizes for top performers not as high as other e-sports? Or even brain sports like chess or Go? Like millions of dollars. What can be done to increase this?

Full text and comments »

  • Vote: I like it
  • +114
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

Hello guys, I made it through the qualifications what advise would you give if I want to rapidly train my skills to pass round 1?

Full text and comments »

  • Vote: I like it
  • +8
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

Dear brethren, If you guys were to give a CF based rating to today's GCJ qualification problems what would be? A, B, C, D, E?

Full text and comments »

  • Vote: I like it
  • +14
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

Dear Brethren, I was trying out this Google CodeJam 2019 round 1A problem PYLON, https://codingcompetitions.withgoogle.com/codejam/round/0000000000051635/0000000000104e03#analysis

I devised a DFS based backtracking solution, the problem is I donot know how to keep track of visited states in an efficient manner. The way I am doing is right now, I am starting from a random state and I am doing a DFS traversal and each time I push a node on to the stack I make sure it is not something we have already encountered on the path, by keeping track of a linked list! So for every update onto the I am doing a linked list traversal all the way to the root.

I am able to solve test case 1, but cannot solve test case 2. Please suggest if it is possible to do the backtracking more efficiently. Thank you!

#include <bits/stdc++.h>
typedef long long ll;

using namespace std;
struct Node {
	Node* par;
	pair<int, int> vl;
	int cnt;
};
void tracePtr(Node* nd) {
    vector<pair<int, int>> v;
	
  	while(nd) {
		v.push_back(nd->vl);
		nd = nd->par;
	}
	cout<<"POSSIBLE"<<endl;
	for (int i=v.size()-1; i >= 0; --i) {
	   cout<<v[i].first+1 << " "<<v[i].second+1<<endl;
	}
	
}
int main() {
	int t;
	cin >> t;
	for (int tt = 1; tt <= t; ++tt) {
		int nr, nc;
		cin >> nr >> nc;
		bool fnd=false;
		cout << "Case #"<<tt<<": ";
		for (int r=0; r< nr && !fnd; ++r) {
		for(int c=0; c < nc && !fnd; ++c) {
		   stack<Node*> st;
		   Node* nd = new Node;
		   nd->par=nullptr;
		   nd->vl.first=r;
		   nd->vl.second=c;
		   nd->cnt=1;
		   st.push(nd);
		   while(!st.empty()) {

			auto cur=st.top();
			st.pop();
     			//	cout << cur->cnt<< st.size() <<endl;

			if (cur->cnt == nr*nc) {
				fnd=true;
				tracePtr(cur);
				break;
			}
			for (int rr=0;rr < nr;++rr) {
			   if (rr == cur->vl.first) {
				continue;
			  }
  		       for (int cc=0; cc < nc; ++cc) {
			    if (cc == cur->vl.second) {
				continue;
			    }
 			if (((rr+cc) != (cur->vl.first+cur->vl.second)) && 
				((rr-cc) != (cur->vl.first - cur->vl.second))) {

								
					bool valid =true;
					auto curr = cur;
					while(curr) {
					if ((curr->vl.first == rr) && (curr->vl.second == cc)) {
			valid =false;
		}
		curr = curr->par;
	}
	if (valid) {
		Node* nd = new Node;
		nd->par=cur;
	        nd->vl.first=rr;
		nd->vl.second=cc;
	        nd->cnt=cur->cnt+1;
  		st.push(nd);
								}
								
							}
						}
					}
				}
			}
		}
               if (!fnd) {
			 cout << "IMPOSSIBLE"<<endl;
		}
	}
	// your code goes here
	return 0;
}

Full text and comments »

  • Vote: I like it
  • -6
  • Vote: I do not like it

By codex666, history, 3 years ago, In English

Dear brethren, I can almost comeup with solution to problems, but miss one or two edge cases. This really sucks. For high rated people here, do you always prove correctness of algorithms when implementating or can you get away with just intuition? How many of you high rated peers has never proven or seen techniques of proof and just get by with killer intuition? Would love to here your opinions. Much love to all!!

Full text and comments »

  • Vote: I like it
  • +8
  • Vote: I do not like it

By codex666, history, 4 years ago, In English

Dear coding brethren, This question is specific to topcoder style marathon matches where companies with a lot of money who needs to solve a complex problem, simply crowdsource it to topcoder. And while the actual highly skilled developer who solves it is paid a meager amount, the topcoder folks get a huge cut and the company files an IP for the product developed by someone else? This sounds so messed and unfair to the developer. What does the community think about this? We are being used and made a fool of by buisness people!!

Full text and comments »

  • Vote: I like it
  • -16
  • Vote: I do not like it

By codex666, history, 4 years ago, In English

Hi all, I am determined to give my full effort to prepare for CodeJam next year. I have about four months. What is the difficulty level compared to codeforces for each of qualifications + Round 1,2,3,4? Compared with codeforces div2 and div1? Also what are the important topics in order of priority I should prepare. Thank you all

Full text and comments »

  • Vote: I like it
  • +1
  • Vote: I do not like it