ens-ulm-1

google hashcode 2014 source for team ens-ulm-1
git clone https://a3nm.net/git/ens-ulm-1/
Log | Files | Refs

commit 720a425c4da26d7dede3163a92e89b04860c5310
parent 7001ccb80aa7238eecf1de79be35f5aee9ab3464
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Sat,  5 Apr 2014 11:22:05 +0200

Merge branch 'master' of ssh://gitorious.org/ens-ulm-1/ens-ulm-1

Diffstat:
contest/EVENT_LOG | 1+
contest/louis/Makefile | 3+++
contest/louis/main.cc | 8++++++++
contest/mc/mc.cpp | 0
training/louis/main.cc | 18+++++++++++++++++-
5 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/contest/EVENT_LOG b/contest/EVENT_LOG @@ -1,2 +1,3 @@ 10h30, nous arrivons à l'heure. Visiblement, les croissants promis pour 10h30-11h ont déjà été écoulés, avec le reste des provisions. Pas de coca, pas de jus d'orange. C'est la dèche. J'ai faim. 10h50. Annonce. On commence dans 10minutes. Pas de nouvelles des croissants. +11h01. La tâche n'est toujours pas en ligne. diff --git a/contest/louis/Makefile b/contest/louis/Makefile @@ -0,0 +1,3 @@ + +all: + g++ main.cc -o lpthread -O2 diff --git a/contest/louis/main.cc b/contest/louis/main.cc @@ -0,0 +1,8 @@ +#include <cstdio> + + + +int main() +{ + return 0; +} diff --git a/contest/mc/mc.cpp b/contest/mc/mc.cpp diff --git a/training/louis/main.cc b/training/louis/main.cc @@ -12,6 +12,8 @@ int cx,cy,ct,nb; int nbBlancs[Tm][Tm] ; int nbNoirs[Tm][Tm] ; std::vector<int> out[3]; +std::vector<int> er[2]; + int nbt(int t[][Tm],int x, int y,int c) { @@ -45,6 +47,18 @@ bool get_carre () int c = 1 ; while(nbt(nbBlancs,x,y,c)==0 && x+c<=Tx && y+c<=Ty) c+=2 ; + if(x+c<=Tx && y+c<=Ty) + if(nbt(nbBlancs,x,y,c)<3 && nbt(nbNoirs,x,y,c) > nbt(nbNoirs,x,y,c-2)+3) + { + for(int rx = x ; rx < x+c ; rx++ ) + for(int ry = y ; ry < y+c ; ry++ ) + if(grid[ry][rx] = '.') + { + er[0].push_back(ry); + er[1].push_back(rx); + } + c+= 2; + } c-=2; if(c>0) { @@ -76,7 +90,7 @@ int main() for(int y = cy ; y < cy+ct ; y++ ) grid[y][x] = '-'; } - printf("%d\n",out[0].size()); + // printf("%d\n",out[0].size()+nbNoirs[0][0]); for(int x = 0 ; x < Tx ; x++ ) for(int y = 0 ; y < Ty ; y++ ) @@ -85,5 +99,7 @@ int main() for(size_t i = 0 ; i < out[0].size() ; i++ ) printf("PAINTSQ %d %d %d\n",out[0][i],out[1][i],out[2][i]); + for(size_t i = 0 ; i < er[0].size() ; i++ ) + printf("ERASECELL %d %d",er[0][i],er[1][i]); return 0; }