Summary:
2011-05-28:
Div 1, Level 1
Div 1, Level 2
Div 1, Level 3
Div 2, Level 1
Div 2, Level 2
Div 2, Level 3
Tutorials:
Division One - Level Three:
Solution
Source Code:
Division One - Level Two:
Solution
Source Code:
Division One - Level One:
Solution
The same with Div2-Level2.
Source Code:
Division Two - Level Three:
Solution
Source Code:
Division Two - Level Two:
Solution
Source Code:
//Sat May 28 11:07:51 CDT 2011
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
class CubeStickers {
public:
string isPossible(vector<string> sticker) {
set<string> s(sticker.begin(), sticker.end());
colors = vector<string> (s.begin(), s.end());
if (s.size() < 3)
return "NO";
for (int i = 0; i < sticker.size(); i++) {
mp[sticker[i]]++;
}
int faces = 6;
for (int i = 0; i < colors.size(); i++) {
if (mp[colors[i]] >= 2)
faces -= 2;
else
faces--;
}
return faces > 0 ? "NO" : "YES";
}
map<string, int> mp;
vector<string> colors;
};
Division Two - Level One:
Solution
Source Code:
//Sat May 28 10:50:51 CDT 2011
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
class CubeAnts {
public:
int getMinimumSteps(vector<int> pos) {
int N = pos.size();
int mmax = 0;
for (int i = 0; i < N; i++) {
mmax = max(mmax, getStep(pos[i]));
}
return mmax;
}
int getStep(int p) {
switch (p) {
case 0:
return 0;
case 1:
return 1;
case 2:
return 2;
case 3:
return 1;
case 4:
return 1;
case 5:
return 2;
case 6:
return 3;
case 7:
return 2;
default:
return 0;
}
}
};
No comments :
Post a Comment