zoukankan      html  css  js  c++  java
  • TOJ-5395 大于中值的边界元素

    描述

    给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数。这里的“中值”定义为一个元素序列中:

    (1)当元素个数为奇数时,即为中间大的元素;

    (2)当元素个数为偶数时,为中间大的两个元素的平均值。

    输入

    第一行为两个元素n和m,表示二维数组的行数和列数。

    接下来又n行,每行m个整数,表示数组元素值。

    1<=n,m<=100。

    输出

    输出大于中值的元素个数。

    样例输入

     3 3
    1 2 3
    2 3 1
    4 1 5

    样例输出

    3

    提示

    中值为2,因此边界元素中大于2的元素个数为3个。

    代码测试:

    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    int main(){
        vector<vector<int> > v1;
        vector<int> v2;
        int n,m;
        cin>>n>>m;
        for(int i=0;i<n;i++){
            vector<int> p;
            for(int j=0;j<m;j++){
                int a;
                cin>>a;
                p.push_back(a);
                v2.push_back(a);
            }
            v1.push_back(p);
        }
        sort(v2.begin(),v2.end());
        int num;
        if(n*m%2!=0) num=v2[n*m/2];
        else num=(v2[n*m/2]+v2[n*m/2+1])*1.0/2;
        int cnt=0;
        for(int i=0;i<v1.size();i++){
            for(int j=0;j<v1[i].size();j++){
                if(i==0||j==0||i==v1.size()-1||j==v1[i].size()-1){
                    if(v1[i][j]>num)
                        cnt++;
                }
            }
        }
        cout<<cnt<<endl;
    } 
    View Code
  • 相关阅读:
    Java--动态代理
    java-finalize
    Oauth1.0认证过程
    深入理解-HashMap
    Java--对象内存布局
    Java--finally
    一个非常有用的算法---统计二进制数中1的个数
    进程之间通信
    SpringMVC听课笔记(十三:使用拦截器)
    SpringMVC听课笔记(十二:文件的上传)
  • 原文地址:https://www.cnblogs.com/momo-88/p/8908543.html
Copyright © 2011-2022 走看看