reduce use of std
This commit is contained in:
parent
3d9ddad0b6
commit
2ea9252c53
109
main.cpp
109
main.cpp
@ -3,16 +3,66 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
#define pt cout <<
|
#define pt std::cout <<
|
||||||
#define pter cerr <<
|
#define pter std::cerr <<
|
||||||
#define nl "\n"
|
#define nl "\n"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
// TODO: drop pair
|
// TODO: drop myPair
|
||||||
// remove global def of std
|
|
||||||
// spam comments
|
// spam comments
|
||||||
|
|
||||||
|
// -------- START PAIR IMPL --------
|
||||||
|
template<typename T1, typename T2>
|
||||||
|
struct myPair {
|
||||||
|
T1 first;
|
||||||
|
T2 second;
|
||||||
|
|
||||||
|
myPair() : first(), second() {}
|
||||||
|
|
||||||
|
myPair(const T1 &first, const T2 &second) : first(first), second(second) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// -------- END PAIR IMPL --------
|
||||||
|
|
||||||
|
// -------- START HELPER FUNCTIONS --------
|
||||||
|
void swapChar(char &a, char &b) {
|
||||||
|
if (a == b) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
a ^= b;
|
||||||
|
b ^= a;
|
||||||
|
a ^= b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recursively reverse a string
|
||||||
|
void reverseString(string &str, int start, int end) {
|
||||||
|
if (start >= end) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
swapChar(str[start], str[end]);
|
||||||
|
|
||||||
|
reverseString(str, start + 1, end - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
string toString(int x) {
|
||||||
|
if (!x) return "0";
|
||||||
|
|
||||||
|
string result;
|
||||||
|
while (x) {
|
||||||
|
result.push_back(x % 10 + '0');
|
||||||
|
x /= 10;
|
||||||
|
}
|
||||||
|
reverseString(result, 0, result.size() - 1);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
int max(int a, int b) {
|
||||||
|
return a > b ? a : b;
|
||||||
|
}
|
||||||
|
// -------- END HELPER FUNCTIONS --------
|
||||||
|
|
||||||
// -------- START RAII HELPERS--------
|
// -------- START RAII HELPERS--------
|
||||||
|
|
||||||
unsigned long allocatedMem = 0;
|
unsigned long allocatedMem = 0;
|
||||||
@ -107,39 +157,6 @@ bool isValidPlayer(char c) {
|
|||||||
return c >= 'A' && c <= 'Z' && c != 'X';
|
return c >= 'A' && c <= 'Z' && c != 'X';
|
||||||
}
|
}
|
||||||
|
|
||||||
void swapChar(char &a, char &b) {
|
|
||||||
if (a == b) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
a ^= b;
|
|
||||||
b ^= a;
|
|
||||||
a ^= b;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Recursively reverse a string
|
|
||||||
void reverseString(string &str, int start, int end) {
|
|
||||||
if (start >= end) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
swapChar(str[start], str[end]);
|
|
||||||
|
|
||||||
reverseString(str, start + 1, end - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
string toString(int x) {
|
|
||||||
if (!x) return "0";
|
|
||||||
|
|
||||||
string result;
|
|
||||||
while (x) {
|
|
||||||
result.push_back(x % 10 + '0');
|
|
||||||
x /= 10;
|
|
||||||
}
|
|
||||||
reverseString(result, 0, result.size() - 1);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Moves serialize(const string &s) {
|
Moves serialize(const string &s) {
|
||||||
Moves result;
|
Moves result;
|
||||||
istringstream iss(s);
|
istringstream iss(s);
|
||||||
@ -279,7 +296,7 @@ void printBoard(char **board, int x, int y) {
|
|||||||
}
|
}
|
||||||
pt nl;
|
pt nl;
|
||||||
}
|
}
|
||||||
pt endl;
|
pt std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
char toLowerCase(char c) {
|
char toLowerCase(char c) {
|
||||||
@ -290,13 +307,13 @@ int normalize(char c) {
|
|||||||
return toLowerCase(c) - 'a';
|
return toLowerCase(c) - 'a';
|
||||||
}
|
}
|
||||||
|
|
||||||
void swap(pair<char, pair<int, bool> > *a, int i, int j) {
|
void swap(myPair<char, myPair<int, bool> > *a, int i, int j) {
|
||||||
pair<char, pair<int, bool> > temp = a[i];
|
myPair<char, myPair<int, bool> > temp = a[i];
|
||||||
a[i] = a[j];
|
a[i] = a[j];
|
||||||
a[j] = temp;
|
a[j] = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bubbleSort(pair<char, pair<int, bool> > *a) {
|
void bubbleSort(myPair<char, myPair<int, bool> > *a) {
|
||||||
for (int i = 0; i < 25; i++) {
|
for (int i = 0; i < 25; i++) {
|
||||||
for (int j = 0; j < 25 - i; j++) {
|
for (int j = 0; j < 25 - i; j++) {
|
||||||
if (a[j].second.first > a[j + 1].second.first)
|
if (a[j].second.first > a[j + 1].second.first)
|
||||||
@ -307,12 +324,12 @@ void bubbleSort(pair<char, pair<int, bool> > *a) {
|
|||||||
|
|
||||||
|
|
||||||
void printScores(int *points, char blacklist) {
|
void printScores(int *points, char blacklist) {
|
||||||
pair<char, pair<int, bool> > *arr = static_cast<pair<char, pair<int, bool> > *>(alloc(
|
myPair<char, myPair<int, bool> > *arr = static_cast<myPair<char, myPair<int, bool> > *>(alloc(
|
||||||
26 * sizeof(pair<char, pair<int, bool> >)));
|
26 * sizeof(myPair<char, myPair<int, bool> >)));
|
||||||
|
|
||||||
for (int i = 0; i < 26; i++) {
|
for (int i = 0; i < 26; i++) {
|
||||||
pair<char, pair<int, bool> > p;
|
myPair<char, myPair<int, bool> > p;
|
||||||
pair<int, bool> p1;
|
myPair<int, bool> p1;
|
||||||
p1.first = points[i];
|
p1.first = points[i];
|
||||||
p1.second = false;
|
p1.second = false;
|
||||||
p.first = static_cast<char>(i + 'A');
|
p.first = static_cast<char>(i + 'A');
|
||||||
@ -349,7 +366,7 @@ void printScores(int *points, char blacklist) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dealloc(arr);
|
dealloc(arr);
|
||||||
pt endl;
|
pt std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isValidMove(int x, int y, char **board) {
|
bool isValidMove(int x, int y, char **board) {
|
||||||
|
Loading…
Reference in New Issue
Block a user