Một số ví dụ chiến lược rút gọn code cho competitive programming. Khi viết nhiều code, có thể áp dụng các chiến lược để ngắn gọn hơn.
Đổi tên kiểu dữ liệu cho ngắn. Xem code để hiểu:
Mã gốc
#include <iostream>
using namespace std;
int main() {
long long x = 10;
long long y = 50;
cout << x << ", " << y;
} Kết quả
10, 50
Mã rút gọn (dùng typedef)
#include <iostream>
using namespace std;
typedef long long ll;
int main() {
ll x = 10;
ll y = 50;
cout << x << ", " << y;
} Kết quả
10, 50
Sau đó dùng 'll' thay vì viết 'long long' lặp lại.
Ví dụ khác dùng typedef cho template/STL, dùng macro để rút gọn:
Ví dụ
#include <iostream>
#include <vector>
#define F first
#define S second
#define PB push_back
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
int main() {
vi v;
pii p(50, 60);
v.PB(10);
v.PB(20);
v.PB(30);
for (int i = 0; i < v.size(); i++)
cout << v[i] << " ";
cout << endl;
cout << "First: " << p.F;
cout << "\nSecond: " << p.S;
} Kết quả
10 20 30 First: 50 Second: 60