From 57d767cf4e4d5b83645bda2c4e398fdd76d059e1 Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Mon, 2 Jan 2017 20:37:59 +0700 Subject: Update others/easy20160714 --- others/easy20160714/29.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 others/easy20160714/29.c (limited to 'others/easy20160714/29.c') diff --git a/others/easy20160714/29.c b/others/easy20160714/29.c new file mode 100644 index 0000000..4e81aff --- /dev/null +++ b/others/easy20160714/29.c @@ -0,0 +1,50 @@ +#include + +char divpp(char x, char y) +{ + return (x % y) ? (x / y + 1) : (x / y); +} + +float average(int a[10][10], char t, char l, char b, char r) +{ + float s = 0.0; + char i, j; + + for (i = t; i <= b; i++) + for (j = l; j <= r; j++) + s += (float) a[i][j]; + + return s / (float) (b - t + 1) / (float) (r - l + 1); +} + +int main() +{ + FILE *f = fopen("INP.TXT", "r"); + char m, n, s, i, i0, j, j0, b = 1; + int a[10][10]; + float r = 0; + + fscanf(f, "%hhd %hhd %d", &m, &n, &s); + + for (i = 0; i < m; i++) + for (j = 0; j < n; j++) + fscanf(f, "%d", &a[i][j]); + + fclose(f); + + for (i = 0; i < m; i++) + for (j = 0; j < n; j++) + for (i0 = i; i0 < m; i0++) + for (j0 = j + divpp(s, i0 - i + 1) - 1; j0 < n; + j0++) + if (b || average(a, i, j, i0, j0) > r) { + r = average(a, i, j, i0, j0); + b = 0; + } + + f = fopen("OUT.TXT", "w"); + fprintf(f, "%f\n", r); + fclose(f); + + return 0; +} -- cgit 1.4.1