diff options
Diffstat (limited to 'doc/tests/fontes')
29 files changed, 645 insertions, 0 deletions
diff --git a/doc/tests/fontes/abacaxi-yes.c b/doc/tests/fontes/abacaxi-yes.c new file mode 100644 index 0000000..3b9d1a0 --- /dev/null +++ b/doc/tests/fontes/abacaxi-yes.c @@ -0,0 +1,48 @@ +/* Copyright 2001 Maratona de Programacao do IME-USP -- cef@ime.usp.br + */ + +#include <stdio.h> + +int main(int argc, char *argv[]) +{ + FILE * ent; + int cont = 0; + int n, num, rec[1000], desp[1000], soma, i, inic, somamax, imax, fmax; + + ent = stdin; + fscanf(ent, "%d", &n); + while (n > 0){ + cont++; + printf("Fazenda %d\n", cont); + for (i = 0; i < n; i++) fscanf(ent, "%d", &rec[i]); + for (i = 0; i < n; i++) fscanf(ent, "%d", &desp[i]); + somamax = -1; + imax = 0; + fmax = 0; + soma = 0; + inic = 1; + for (i = 0; i < n; i++){ + num = rec[i] - desp[i]; + if (soma + num >= 0){ + soma += num; + if (soma > somamax){ + imax = inic; + fmax = i + 1; + somamax = soma; + } + } + else{ + inic = i + 2; + soma = 0; + } + } + if(somamax >= 0) + printf("Inicio %d Fim %d\n\n", imax, fmax); + else + printf("O produtor so teve prejuizo nesta fazenda\n\n"); + + fscanf(ent, "%d", &n); + } + return(0); +} + diff --git a/doc/tests/fontes/bits-compile.c b/doc/tests/fontes/bits-compile.c new file mode 100644 index 0000000..ad979fd --- /dev/null +++ b/doc/tests/fontes/bits-compile.c @@ -0,0 +1,5 @@ +int main(void) { + int n; + n = 42 + return 0; +} diff --git a/doc/tests/fontes/bits-compile.cpp b/doc/tests/fontes/bits-compile.cpp new file mode 100644 index 0000000..ad979fd --- /dev/null +++ b/doc/tests/fontes/bits-compile.cpp @@ -0,0 +1,5 @@ +int main(void) { + int n; + n = 42 + return 0; +} diff --git a/doc/tests/fontes/bits-compile.java b/doc/tests/fontes/bits-compile.java new file mode 100644 index 0000000..dcfa1eb --- /dev/null +++ b/doc/tests/fontes/bits-compile.java @@ -0,0 +1,23 @@ +import java.io.*; +class bits { + public static void main(String args[]) { + StreamTokenizer st = new StreamTokenizer(System.in); + int i, j, n, max, inst=0; + while(42==42) { + st.nextToken(); + n = (int) st.nval; + if(n==0) break; + max=1; + for(i=0; i<n; i++) { + st.nextToken(); + j = (int) st.nval; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + inst++; + System.out.println("Instancia " + inst); + System.out.println(i*n + "\n"); + } + } +} diff --git a/doc/tests/fontes/bits-compile.pas b/doc/tests/fontes/bits-compile.pas new file mode 100644 index 0000000..ad2765f --- /dev/null +++ b/doc/tests/fontes/bits-compile.pas @@ -0,0 +1,27 @@ +program bits; +var i, j, n, max, inst: Longint; +begin + inst=0; + while true do + begin + read(n); + if n=0 then break; + max:=1; + for i:=0 to n-1 do + begin + read(j); + if j>max then max:=j + end; + i:=0; + while max>0 do + begin + max := max div 2; + i := i + 1 + end; + write('Instancia '); + inst := inst + 1; + writeln(inst); + writeln(i*n); + writeln() + end +end. diff --git a/doc/tests/fontes/bits-diffbug.c b/doc/tests/fontes/bits-diffbug.c new file mode 100644 index 0000000..3703152 --- /dev/null +++ b/doc/tests/fontes/bits-diffbug.c @@ -0,0 +1,25 @@ +/* this file illustrate a bug in diff that, even using -w -B -b, + * it will think that the files are different and will return + * exit code 1, when the only difference between them is a line + * in the end with a single white space. + * Author: cassio@ime.usp.br + * Last updated: 18/aug/2008 + */ +#include <stdio.h> +int main(void) { + int i, j, n, max, inst=0; + while(42) { + scanf("%d", &n); + if(!n) break; + max=1; + for(i=0; i<n; i++) { + scanf("%d", &j); + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + printf("Instancia %d\n%d\n\n", ++inst, i*n); + } + printf(" \n"); + return 0; +} diff --git a/doc/tests/fontes/bits-incorrect.c b/doc/tests/fontes/bits-incorrect.c new file mode 100644 index 0000000..de05583 --- /dev/null +++ b/doc/tests/fontes/bits-incorrect.c @@ -0,0 +1,17 @@ +#include <stdio.h> +int main(void) { + int i, j, n, max, inst=0; + while(42) { + scanf("%d", &n); + if(!n) break; + max=0; + for(i=0; i<n; i++) { + scanf("%d", &j); + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + printf("Instancia %d\n%d\n\n", ++inst, i*n); + } + return 0; +} diff --git a/doc/tests/fontes/bits-incorrect.cpp b/doc/tests/fontes/bits-incorrect.cpp new file mode 100644 index 0000000..3b38845 --- /dev/null +++ b/doc/tests/fontes/bits-incorrect.cpp @@ -0,0 +1,18 @@ +#include <iostream> +using namespace std; +int main(void) { + int i, j, n, max, inst=0; + while(42) { + cin >> n; + if(!n) break; + max=0; + for(i=0; i<n; i++) { + cin >> j; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + cout << "Instancia " << ++inst << endl << (i*n) << endl << endl; + } + return 0; +} diff --git a/doc/tests/fontes/bits-incorrect.java b/doc/tests/fontes/bits-incorrect.java new file mode 100644 index 0000000..30b388d --- /dev/null +++ b/doc/tests/fontes/bits-incorrect.java @@ -0,0 +1,23 @@ +import java.io.*; +class bits { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int i, j, n, max, inst=0; + while(42==42) { + st.nextToken(); + n = (int) st.nval; + if(n==0) break; + max=0; + for(i=0; i<n; i++) { + st.nextToken(); + j = (int) st.nval; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + inst++; + System.out.println("Instancia " + inst); + System.out.println(i*n + "\n"); + } + } +} diff --git a/doc/tests/fontes/bits-incorrect.pas b/doc/tests/fontes/bits-incorrect.pas new file mode 100644 index 0000000..7dbcd4b --- /dev/null +++ b/doc/tests/fontes/bits-incorrect.pas @@ -0,0 +1,27 @@ +program bits; +var i, j, n, max, inst: Longint; +begin + inst:=0; + while true do + begin + read(n); + if n=0 then break; + max:=1; + for i:=0 to n-1 do + begin + read(j); + if j>max then max:=j + end; + i:=0; + while max>0 do + begin + max := max div 2; + i := i + 1 + end; + write('Instancia '); + inst := inst + 1; + writeln(inst); + writeln(i); + writeln() + end +end. diff --git a/doc/tests/fontes/bits-outputformat.c b/doc/tests/fontes/bits-outputformat.c new file mode 100644 index 0000000..62d11f5 --- /dev/null +++ b/doc/tests/fontes/bits-outputformat.c @@ -0,0 +1,17 @@ +#include <stdio.h> +int main(void) { + int i, j, n, max, inst=0; + while(42) { + scanf("%d", &n); + if(!n) break; + max=1; + for(i=0; i<n; i++) { + scanf("%d", &j); + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + printf("INStanCIA %d\n%d\n\n", ++inst, i*n); + } + return 0; +} diff --git a/doc/tests/fontes/bits-outputformat.cpp b/doc/tests/fontes/bits-outputformat.cpp new file mode 100644 index 0000000..62d11f5 --- /dev/null +++ b/doc/tests/fontes/bits-outputformat.cpp @@ -0,0 +1,17 @@ +#include <stdio.h> +int main(void) { + int i, j, n, max, inst=0; + while(42) { + scanf("%d", &n); + if(!n) break; + max=1; + for(i=0; i<n; i++) { + scanf("%d", &j); + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + printf("INStanCIA %d\n%d\n\n", ++inst, i*n); + } + return 0; +} diff --git a/doc/tests/fontes/bits-outputformat.java b/doc/tests/fontes/bits-outputformat.java new file mode 100644 index 0000000..7a3d144 --- /dev/null +++ b/doc/tests/fontes/bits-outputformat.java @@ -0,0 +1,23 @@ +import java.io.*; +class bits { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int i, j, n, max, inst=0; + while(42==42) { + st.nextToken(); + n = (int) st.nval; + if(n==0) break; + max=1; + for(i=0; i<n; i++) { + st.nextToken(); + j = (int) st.nval; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + inst++; + System.out.println("Instancia " + inst); + System.out.println(i*n); + } + } +} diff --git a/doc/tests/fontes/bits-outputformat.pas b/doc/tests/fontes/bits-outputformat.pas new file mode 100644 index 0000000..e5094d2 --- /dev/null +++ b/doc/tests/fontes/bits-outputformat.pas @@ -0,0 +1,27 @@ +program bits; +var i, j, n, max, inst: Longint; +begin + inst:=0; + while true do + begin + read(n); + if n=0 then break; + max:=1; + for i:=0 to n-1 do + begin + read(j); + if j>max then max:=j + end; + i:=0; + while max>0 do + begin + max := max div 2; + i := i + 1 + end; + write('Instacia '); + inst := inst + 1; + writeln(inst); + writeln(i*n); + writeln() + end +end. diff --git a/doc/tests/fontes/bits-runtime.c b/doc/tests/fontes/bits-runtime.c new file mode 100644 index 0000000..9fe074f --- /dev/null +++ b/doc/tests/fontes/bits-runtime.c @@ -0,0 +1,5 @@ +int main(void) { + int *n= (int *)42; + *n = 42; + return 0; +} diff --git a/doc/tests/fontes/bits-runtime.cpp b/doc/tests/fontes/bits-runtime.cpp new file mode 100644 index 0000000..9fe074f --- /dev/null +++ b/doc/tests/fontes/bits-runtime.cpp @@ -0,0 +1,5 @@ +int main(void) { + int *n= (int *)42; + *n = 42; + return 0; +} diff --git a/doc/tests/fontes/bits-runtime.java b/doc/tests/fontes/bits-runtime.java new file mode 100644 index 0000000..f7bffc5 --- /dev/null +++ b/doc/tests/fontes/bits-runtime.java @@ -0,0 +1,24 @@ +import java.io.*; +class bits { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int i, j, n, max, inst=0; + while(42==42) { + st.nextToken(); + n = (int) st.nval; + if(n==0) break; + max=1; + for(i=0; i<n; i++) { + st.nextToken(); + j = (int) st.nval; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + inst++; + System.out.println("Instancia " + inst); + System.out.println(i*n + "\n"); + throw new Exception("OPA! Runtime error, hehehe..."); + } + } +} diff --git a/doc/tests/fontes/bits-runtime.pas b/doc/tests/fontes/bits-runtime.pas new file mode 100644 index 0000000..ed496c0 --- /dev/null +++ b/doc/tests/fontes/bits-runtime.pas @@ -0,0 +1,27 @@ +program bits; +var i, inst, max, n: Longint; + v: array[0..1] of Longint; +begin + while true do + begin + read(n); + if n=0 then break; + max := 1; + for i:=0 to n-1 do + begin + read(v[i]); + if v[i]>max then max:=v[i] + end; + i:=0; + while max>0 do + begin + max := max div 2; + i := i + 1 + end; + write('Instancia '); + inst := inst + 1; + writeln(inst); + writeln(i*n); + writeln() + end +end. diff --git a/doc/tests/fontes/bits-timelimit.c b/doc/tests/fontes/bits-timelimit.c new file mode 100644 index 0000000..19e1c57 --- /dev/null +++ b/doc/tests/fontes/bits-timelimit.c @@ -0,0 +1,8 @@ +#include <stdio.h> +int main(void) { + int n=0; + while(42) { + n++; + } + return 0; +} diff --git a/doc/tests/fontes/bits-timelimit.cpp b/doc/tests/fontes/bits-timelimit.cpp new file mode 100644 index 0000000..25cb517 --- /dev/null +++ b/doc/tests/fontes/bits-timelimit.cpp @@ -0,0 +1,8 @@ +#include <iostream> +int main(void) { + int n=0; + while(42) { + n++; + } + return 0; +} diff --git a/doc/tests/fontes/bits-timelimit.java b/doc/tests/fontes/bits-timelimit.java new file mode 100644 index 0000000..4330bb3 --- /dev/null +++ b/doc/tests/fontes/bits-timelimit.java @@ -0,0 +1,10 @@ +import java.io.*; +class bits { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int inst=0; + while(42==42) { + inst++; + } + } +} diff --git a/doc/tests/fontes/bits-timelimit.pas b/doc/tests/fontes/bits-timelimit.pas new file mode 100644 index 0000000..d0b496d --- /dev/null +++ b/doc/tests/fontes/bits-timelimit.pas @@ -0,0 +1,8 @@ +program bits; +var inst: Longint; +begin + inst:=0; + while true do + begin + end +end. diff --git a/doc/tests/fontes/bits-yes.c b/doc/tests/fontes/bits-yes.c new file mode 100644 index 0000000..ab23f83 --- /dev/null +++ b/doc/tests/fontes/bits-yes.c @@ -0,0 +1,17 @@ +#include <stdio.h> +int main(void) { + int i, j, n, max, inst=0; + while(42) { + scanf("%d", &n); + if(!n) break; + max=1; + for(i=0; i<n; i++) { + scanf("%d", &j); + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + printf("Instancia %d\n%d\n\n", ++inst, i*n); + } + return 0; +} diff --git a/doc/tests/fontes/bits-yes.cpp b/doc/tests/fontes/bits-yes.cpp new file mode 100644 index 0000000..11a32b5 --- /dev/null +++ b/doc/tests/fontes/bits-yes.cpp @@ -0,0 +1,18 @@ +#include <iostream> +using namespace std; +int main(void) { + int i, j, n, max, inst=0; + while(42) { + cin >> n; + if(!n) break; + max=1; + for(i=0; i<n; i++) { + cin >> j; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + cout << "Instancia " << ++inst << endl << (i*n) << endl << endl; + } + return 0; +} diff --git a/doc/tests/fontes/bits-yes.java b/doc/tests/fontes/bits-yes.java new file mode 100644 index 0000000..3448484 --- /dev/null +++ b/doc/tests/fontes/bits-yes.java @@ -0,0 +1,23 @@ +import java.io.*; +class bits { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int i, j, n, max, inst=0; + while(42==42) { + st.nextToken(); + n = (int) st.nval; + if(n==0) break; + max=1; + for(i=0; i<n; i++) { + st.nextToken(); + j = (int) st.nval; + if(j>max) max=j; + } + for(i=0; max>0; i++) + max >>= 1; + inst++; + System.out.println("Instancia " + inst); + System.out.println(i*n + "\n"); + } + } +} diff --git a/doc/tests/fontes/bits-yes.pas b/doc/tests/fontes/bits-yes.pas new file mode 100644 index 0000000..0970c43 --- /dev/null +++ b/doc/tests/fontes/bits-yes.pas @@ -0,0 +1,27 @@ +program bits; +var i, j, n, max, inst: Longint; +begin + inst:=0; + while true do + begin + read(n); + if n=0 then break; + max:=1; + for i:=0 to n-1 do + begin + read(j); + if j>max then max:=j + end; + i:=0; + while max>0 do + begin + max := max div 2; + i := i + 1 + end; + write('Instancia '); + inst := inst + 1; + writeln(inst); + writeln(i*n); + writeln() + end +end. 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; +} diff --git a/doc/tests/fontes/grid.java b/doc/tests/fontes/grid.java new file mode 100644 index 0000000..b7876ec --- /dev/null +++ b/doc/tests/fontes/grid.java @@ -0,0 +1,10 @@ +import java.io.*; +class cancer { + public static void main(String args[]) throws Exception { + StreamTokenizer st = new StreamTokenizer(System.in); + int inst=0; + while(42==42) { + inst++; + } + } +} diff --git a/doc/tests/fontes/multas-yes.c b/doc/tests/fontes/multas-yes.c new file mode 100644 index 0000000..3729d0b --- /dev/null +++ b/doc/tests/fontes/multas-yes.c @@ -0,0 +1,85 @@ +/* Copyright 2001 Maratona de Programacao do IME-USP -- cef@ime.usp.br + */ + +#include <stdio.h> + +typedef struct +{ + char nome[100]; + char nomeconv[100]; + + int pontos; +} +m_familia; + +#define MAX 21 + +char conv(char c) +{ + if(c >= 'A' && c <= 'Z') return (c += 'a' - 'A'); + return(c); + +} + + +int menor(char v[80], char w[80]) +{ + int i=0; + + while(i < 80 && v[i] == w[i])i++; + return(v[i] < w[i]); +} + + +int main(int argc, char *argv[]) +{ + FILE * ent; + int cont = 0; + int n, i,j, multa, nmult, min; + m_familia familia[20]; + + ent = stdin; + + fscanf(ent, "%d", &n); + while (n > 0){ + cont++; + printf("Familia %d\n", cont); + + for (i = 0; i < n; i++){ + fscanf(ent, "%s", &(familia[i].nome[0])); + j = 0; + while(familia[i].nome[j] != 0) { + familia[i].nomeconv[j]=conv(familia[i].nome[j]); + j++; + } + familia[i].nomeconv[j]=0; + + familia[i].pontos = 0; + } + fscanf(ent, "%d", &multa); + nmult = 0; + + while(multa > 0){ + nmult++; + min = 0; + for (i = 0; i < n; i++) + if (familia[i].pontos < familia[min].pontos || + (familia[i].pontos == familia[min].pontos && + menor(familia[i].nomeconv, familia[min].nomeconv))) + min = i; + printf("Multa %d %s", nmult, familia[min].nome); + familia[min].pontos += multa; + if ( familia[min].pontos >= MAX) + printf(" carteira suspensa\n"); + else printf("\n"); + fscanf(ent, "%d", &multa); + } + printf("\n"); + + fscanf(ent, "%d", &n); + } + fclose(ent); + return(0); +} + + |