Google Code Jam – Template C++ by vudduu

vudduu: Este es el template de C++ que me gusta usar, pero mas que todo con el que me siento comodo en las rondas del codejam.

#include <iostream>
#include <sstream>
#include <utility>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <cmath>
#include <functional>
#include <algorithm>
#include <numeric>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <stdio.h>
#include <string.h>
using namespace std;

#define FOR(i,a,b)  for(int i=(a),_##i=(b);i<_##i;++i)
#define F(i,a)      FOR(i,0,a)
#define ALL(x)      x.begin(),x.end()
#define PB          push_back
#define MP          make_pair
#define S           size()
typedef long long   LL;

bool solve() {

}

int main() {
    freopen("a.txt", "r", stdin);
    // freopen("small-input.txt", "r", stdin);
    int T;
    scanf("%d", &T);
    for(int cas=1; cas<=T ;cas++) {
        printf("Case #%d: ", cas);
        if(solve()) printf("YESn");
        else printf("NOn");
    }
}

Antes de cada competencia es bueno saber cuantas operaciones pueden realizar por segundo en sus equipos. Como Gareve dice necesitamos conocer ese numero magico que seria nuestro tope.

En C++ pueden obtener este numero magico ejecutando el siguiente código.

#include <iostream>
#include <time.h>
using namespace std;

int main() {
    double ini = clock();
    int c = 0;
    while(double(clock()-ini)/1000000.0 < 1.0)
        c++;
    cout<<"operaciones: "<< c << " " << double(clock()-ini)/1000000.0 << endl;
}

Google Code Jam – Round 1B 2013

Solution of Problem B. Falling Diamonds small:

It can be solved following the next steps:

  1. Find the center of the pyramid: because each solution has a pyramid.
  2. If the point is in the pyramid 100% of times will have a diamond.
  3. If the point is not up to the pyramid 0% of times will have a diamond.
  4. Calculate the provability with SetsWithDiamondOnXY / TotalValidSets Sigue leyendo