Algorithm


Problem Name: beecrowd | 1190

Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/1190

Right Area

 

By Neilor Tonin, URI Brazil

Timelimit: 1

Read an uppercase character that indicates an operation that will be performed in an array M[12][12]. Then, calculate and print the sum or average considering only that numbers that are included in the right area (green area) of this array, like shown in the following figure.


 

Input

 

The first line of the input contains a single uppercase character O ('S' or 'M'), indicating the operation Sum or Average (Média in portuguese) to be performed with the elements of the array. Follow 144 floating-point numbers of the array.

 

Output

 

Print the calculated result (sum or average), with one digit after the decimal point.

 

 

 

Input Sample Output Sample

S
5.0
130.0
-3.5
2.5
4.1
...

122.2

Code Examples

#1 Code Example with C++ Programming

Code - C++ Programming


#include <bits/stdc++.h>
using namespace std;

int main()
{
    char c;
    cin >> c;
    double m[12][12];
    for(int i = 0 ; i  <  12; i++){
        for(int j = 0 ; j  <  12; j++){
            cin >> m[i][j];
        }
    }
    double inc1 =11, inc2 =7 , sum =0;
    for(int i = 1 ; i  < = 10; i++){
        if(i<=5){
            for(int j = inc1 ; j  <  12 ; j++>{
                sum+=m[i][j];
            }
            inc1--;
        }
        else if(i>=6){
            for(int j = inc2 ; j < 12 ; j++){
                sum+=m[i][j];
            }
            inc2++;
        }
    }
    if(c == 'S') cout << fixed << setprecision(1) << sum << endl;
    else if(c== 'M') if(c == 'S') cout << fixed << setprecision(1> << sum/30 << endl;
    return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
S 5.0 130.0 -3.5 2.5 4.1 ...

Output

x
+
cmd
122.2

#2 Code Example with Javascript Programming

Code - Javascript Programming


var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');
 var operation = lines.shift();
 var positions = [];
 var value = 0;
 var m = 1;
 for(var i = 1; i < 11; i++){
    value = i * 12;
    if(i<=5>{
      for(var j = 11; j>11-i; j--){
        positions.push(value + j);
      }
    }else{
      for(var j = 11; j>11-i+m; j--){
        positions.push(value + j);
      }
      m += 2;
    }
 }


 var sum = 0;
 var count = 0;
 
 for(var i = 0; i < 144; i++){
     var num = parseFloat(lines.shift());
     if(positions.indexOf(i)!=-1){
         sum += num;
         count++;
     }
 }
 
 if(operation=='S'){
     console.log(sum.toFixed(1));
 }else{
     console.log((sum/count).toFixed(1));
 }
Copy The Code & Try With Live Editor

Input

x
+
cmd
S 5.0 130.0 -3.5 2.5 4.1 ...

Output

x
+
cmd
122.2
Advertisements

Demonstration


Previous
#1189 Beecrowd Online Judge Solution 1189 Left Area Solution in C++, Java, Js and Python
Next
#1192 Beecrowd Online Judge Solution 1192 Paula's Mathematic Game Solution in C, C++, Java, Js and Python