diff options
| author | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
|---|---|---|
| committer | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
| commit | be2491b093b1f0ca430bede679ecbb670041e483 (patch) | |
| tree | fe2da63d1811cb93e4352a43a113ace37b9f6017 /doc/tests/fontes/formiga-yes.c | |
| parent | a9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (diff) | |
| download | boca-be2491b093b1f0ca430bede679ecbb670041e483.tar.gz boca-be2491b093b1f0ca430bede679ecbb670041e483.zip | |
restructuring of boca's git
Diffstat (limited to 'doc/tests/fontes/formiga-yes.c')
| -rw-r--r-- | doc/tests/fontes/formiga-yes.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/tests/fontes/formiga-yes.c b/doc/tests/fontes/formiga-yes.c new file mode 100644 index 0000000..7640d75 --- /dev/null +++ b/doc/tests/fontes/formiga-yes.c @@ -0,0 +1,68 @@ +/* Copyright 2002 Maratona de Programacao do IME-USP -- cef@ime.usp.br (written by S.G.Tavares) + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> + +FILE *in, *out; + +long mdc(long a, long b){ + long i, mdca=1; + for(i=2; ((i<=a) && (i<=b)) ; i++) + if ((!(a%i)) && (!(b%i))) mdca = i; + return mdca; +} + + +int main(){ + long x, y, i, j, k; + char p1[8]; + double db1; + int dh, dv; + in = stdin; + out = stdout; + + while(42){ + fscanf(in, "%ld%ld\n", &x, &y); + if (!x || !y) break; + fscanf(in, "%s\n", &p1[0]); + if (p1[0]=='N') { + dh = 0; + dv = 0; + } + else if (p1[0]=='S') { + dh = 1; + dv = 1; + } + else if (p1[0]=='L') { + dh = 1; + dv = 0; + } + else { + dh = 0; + dv = 1; + } + for (i=x, j=y; ((!(i%2)) && (!(j%2))); i /= 2, j /= 2 ); + if (i%2) dh = !dh; + if (j%2) dv = !dv; + k = mdc(x, y); + db1 = 100.0/(double)k; + i = floor(100.0/(double)k); + if (db1-(double)i > 0.5) i++; + + j = x/k + y/k -2; + fprintf(out, "%3ld%%%10ld", i, j); + if (dh){ + if (dv) fprintf(out, " Sul\n"); + else fprintf(out, " Leste\n"); + } + else { + if (dv) fprintf(out, " Oeste\n"); + else fprintf(out, " Norte\n"); + } + } + + return 0; +} |