第5届ACM校赛—矩阵

矩阵

题目描述

给定一个n
x m 的矩阵,每次操作,你可以对矩阵的某一个元素加上或减去一个整数值d,求最小的操作次数,使得矩阵的所有元素都相同,如果不能实现,输出-1。

输入

输入包含多组测试数据,对于每组测试数据:

第一行为三个整数  ,
m≤500,1≤d≤10000)。

接下来 m 个整数,第 行第 个整数为ij(1  ij≤10)。

当n=m=d=0 时代表输入结束。

输出

对于每组测试数据,输出一个整数,为最小操作次数,如果不能实现,输出-1。

64-bit,用long
long 定义,请不要使用__int64 和%I64d。

PS:要想找到最小的次数,只能让整个矩阵,变成中间大的数;

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int a[250001];
int cmp(const void *a,const void *b)
{
    return *(int *)a - *(int *)b;
}
int main()
{
    int n,m,s;
   while(scanf("%d%d%d",&n,&m,&s)!=EOF)
    {
        if(n==0&&m==0&&s==0)
            break;
        for(int i = 0;i<n*m;i++)
            scanf("%d",&a[i]);

        qsort(a,n*m,sizeof(a[0]),cmp);

       long long int sum = 0;
        int flag = 0;
       long long int mid = a[(n*m)/2];
        for(int i = 0;i<n*m;i++)
        {
           if((mid-a[i])%s!=0)
           {
               flag = 1;
               break;
           }
            if(mid>a[i])
            {
                sum += (mid - a[i])/s;
            }
            else if(mid<=a[i])
            {
               sum += (a[i]-mid)/s;
            }
        }
        (flag==1)?puts("-1"):printf("%lld\n",sum);

    }
    return 0;
}

第5届ACM校赛—矩阵

时间: 2024-08-02 05:20:45

第5届ACM校赛—矩阵的相关文章

2016 年宁波工程学院第七届ACM校赛题解报告

2016 年宁波工程学院第七届ACM校赛题解报告 本题解代码直接为比赛代码,仅供参考. A,B,C,D,G,H,J,K,L,M 来自 Ticsmtc 同学. F 来自 Gealo 同学. E,I 来自Alex 学长. Promblem A :    Two Sum 时间限制: 1 Sec  内存限制: 64 MB 题目描述: 给出n个数,另外给出?个整数S,判断是否可以从中取出2个数,使得这两个数的和是S. 输入: 第?行有个整数T(1 <= T <= 10),代表数据组数. 对于每组数据,第

广工大第12届ACM校赛E

此题就是看 :将n按二进制能拆成  几个   2^(q)[其中q为(1,2,3,4,...... n)]   这种形式的数,若这个数ans<=k就OK,否则加1再执行一次,以此类推下去 code #include<stdio.h>#include<math.h>#include<iostream>using namespace std; int a[1005];int num=0;void switch_(int x){ num=0; while(x) { a[n

第九届西电ACM校赛解答

Description 欢迎参加西电第九届ACM校内赛!作为一名经历了四届校赛的ACM老队员以及本次校赛的出题人,每次校赛都让我有一种全新的感受--有第一次参加校赛时提交代码时紧张到双手发抖,也有当裁判时看到有些不明真相的人提交编译后程序时的欢乐.不管你是第几次参赛,好好享受这一刻带给你的各种感受,经历就是一种财富.为了让大家更好地记住这悲喜交加的日子,特意准备了这么一道题: 给你一个日期,你只要输出这个日期是在校赛前还是校赛后,或者刚好就是校赛那一天(2011年5月22号). 题目是什么意思呢

2014哈商大ICPC/ACM校赛解题报告

被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数据:点此下载 ============================================================== a:逆序数组+删除特定元素 题目: 小伙伴们好像非常多没接触过ICPC,那先来一道水题尝尝鲜,给出 一个数组,和一个特征值.将这个数组中特征值值删除后逆序输出.

郑州轻院ACM校赛骗钱记

嗯今天去打了打轻院ACM的膜你赛. A题CDC打听到是一道三分的题...我二分都不是很熟悉啊...和century大神用两种方法解出来了样例,结果最后都错了= =于是A题果断没有A= = B题CDC用代码推出来了BASE64的反编码= =贼强,最后居然只是%2017,样例直接给了2016,这让我这种样例选手很吃香啊= = C题辣鸡普及组难度前缀和,轻松搞定 D题拿了一血,好像是要离散化一下,把管道离散化成点,这样的话就好做了= = E题CDC看出来是一道网络流,还是书上的一道原题= =贼强啊..

20170416郑州市轻工业学院ACM校赛

这是个星期天,但是,这种非一线城市,重点城市什么的高中,放假从来不按套路出牌,几乎可以说能给你一天是福气.当然,比县里好的多,问在县里上高中的初中同学,放假更是比我们一天里的午休+晚上吃饭时间还要少.不禁想问这样的压力难道就真的有效么 所以昨天请了假.早上出来,带着一丝丝的激动,但又很平静[或许这并不矛盾].五个三人队伍,八点20才到了目的地:比赛是九点,结果上了楼一直等到九点五十[回来的时候知道电力除了问题].看窗外淅淅沥沥下着雨,走廊里站满了人在闲聊,我们一群人也在瞎互%.入了场发现每人面前

河南省第六届acm省赛 异 形 卵(暴力)

异 形 卵 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 我们探索宇宙,是想了解浩瀚星空的奥妙,但我们却很少意识到宇宙深处藏匿的危险,它们无时无刻不紧盯着我们的地球.如果外星人拜访我们,结果可能与哥伦布当年踏足美洲大陆不会有什么两样,这是历史,也是现实. 在ZDM-777星球上发现的休眠异形卵,其外表与常见的卵不同,表面被一层石墨覆盖.当人走近时,那层石墨开始消融,能看到里面的异形卵正在活动,异形卵是活物,具备一些热量或压力传感器这些基本的中枢神经系统,通过感知周

2018 FJUT ACM 校赛 j题 外传:魔王打工记(一)

外传:魔王打工记(一) TimeLimit:1000MS  MemoryLimit:128MB 64-bit integer IO format:%lld Problem Description 话说Home_W大魔王手下有四大天王: 首席战神--赛文斯,SoftWork首席科学家--布莱克,首席军师--金金金,首席狙击手--超无聊,首席苦力--小明. 然而,这些部下个个都是饭桶,把Home_W都快吃穷.虽然Home_W嘴上说:打工是不可能打工的,这辈子不可能打工的.烧杀抢又不会做,就只有当正义

河南省第十届ACM省赛赛后感想-想个屁啊!

写了一下午搜索没写出来,代码能力弱的要命.大二才入门,啥都不管了,朝着方向努力,能走多远走多远,目标->赶上大佬们的步伐 每次跟fynaaaaa,acdart一块组队都是我俩辅助acdart主力.然而辅助唯一能做的恐怕就是在需要敲模板的时候替大佬敲然后大佬思考. 真心羡慕那种敏捷的思维,无论如何都得努力提升自己的思维能力,这对自己的提升可能不仅仅是比赛得个奖什么的,能力提升应该是更大的. fynaaaa说什么要搞CTF要停20天,当时我就无语了.真的希望这个队能坚持下去,创造奇迹! 话说今天基本