首页 > 其他分享 >【套题】大沥2019年真题——第5题

【套题】大沥2019年真题——第5题

时间:2024-10-25 13:17:21浏览次数:3  
标签:真题 int 二维 整数 50 魔术 大沥 2019 数组

05.魔术数组

题目描述

一个 N 行 N 列的二维数组,如果它满足如下的特性,则成为“魔术数组”:
1、从二维数组任意选出 N 个整数。
2、选出的 N 个整数都是在不同的行且在不同的列。
3、在满足上述两个条件下,任意选出来的 N 个整数的总和都是相等的。
例如,这是一个 4×4 的二维数组:

140 80 160 60
90 30 110 10
100 40 120 20
130 70 150 50

你会发现,任意从里面选出 4 个来自不同行和不同列的整数,它们的总和都是 340,所以这个二维数组是 “魔术数组”。
现在给出整数 N,给出二维数组第一行的 N 个整数,再给出二维数组的左上角到右下角的对角线上的 N 个 整数。
你的任务是根据给出的数据,构造满足题意的“魔术数组”。
如果有多种方案,输出任意一种方案, 如果没有方案,输出-1。

输入格式
第一行,一个整数 N。 1 <= N <= 30。
第二行,N 个整数,表示魔术数组的第一行的 N 个整数。每个整数范围[-1000,1000]。
第三行,N 个整数,表示魔术数组的左上角到右下角的对角线上面的。

输出格式
N 行 N 列的二维数组,表示满足题意的“魔术数组”,或者-1。

输入样例

4
140 80 160 60
140 30 120 50

输出样例

140 80 160 60
90 30 110 10
100 40 120 20 
130 70 150 50

题解:仔细观察样例数组,就会发现一个规律:在数组中选取一个矩形,矩形的左下角的元素 = 左上角 + 右下角 - 右上角。用代码就是这样:a[ i ][ j ]=a[ 1 ][ j ]+a[ i ][ i ]-a[ 1 ][ i ]。

#include<bits/stdc++.h>
using namespace std;
int n,a[50][50];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[1][i];
    }
    for(int i=1;i<=n;i++)
    {
        cin>>a[i][i];
    }
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i==j) continue;
            a[i][j]=a[1][j]+a[i][i]-a[1][i];
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

 

标签:真题,int,二维,整数,50,魔术,大沥,2019,数组
From: https://blog.csdn.net/yangyanbin_sam/article/details/143232100

相关文章

  • 真题练习29-Word字处理-全国计算机等级考试一级计算机基础及MS Office应用考试【汪老
    第29组请根据题目要求,完成下列操作:在考生文件夹下打开文档word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文档。1.将文中所有错词“北平”替换为“北京”;设置上、下页边距各为3厘米。2.将标题段文字(“2009年北京市中考招生计划低于10万人”)设置为蓝色(标准色)、三号......
  • 【408真题】2014-39
    “接”是针对题目进行必要的分析,比较简略;“化”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。涉及到的知识全部来源于王道各科教材(2025版)(408神功练成中……)文章目录一、接:本题分析二、化:套路总结一、接:本题分析2014-39分析【答】B【解......
  • 华为OD机试真题-比赛-2024年OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述一个有N个选手参加比......
  • P5661 [CSP-J2019] 公交换乘 题解
    模拟"公交换乘"按题意模拟即可.注意:可以使用结构体,但是超过时间的优惠券需要被忽略.代码#include<iostream>#include<cstdio>usingnamespacestd;structnode{ intprice,deadline,is_use;//价格,截止时间,是否使用过}a[100005];intn,p,ans,pos=1;int......
  • P5662 [CSP-J2019] 纪念品 题解
    背包因为小伟可以每天进行$2$种操作无限次,所以显然可以使用完全背包.定义状态$f_i$,表示还剩下$i$时,可以拿到钱的最大值.再假设小伟今天买了,明天就卖掉.状态转移方程如下:$f_i=max(f_i,f_{i-p_{k,i}}+p_{k+1,i}-p_{k,i}).$即今天花掉的钱+明天能拿的钱-今天花掉的......
  • P5663 [CSP-J2019] 加工零件 题解
    最短路对于上图,如果我们相知道$2$号工人想要一个$3$阶段的零件,其实是看$2$到$1$有没有一条长度为$3$的路径.但如果要求$4$阶段的路径,那就不一定了.所以我们直接求一遍最短路,分奇最短路和偶最短路.处理完后,最后一次$\Theta(1)$的回答,如果路径长度过大,就是$No$,......
  • 【真题研究】CSP-S2020
    [CSP-S2020]儒略日大模拟。可以将时间分为\(4\)个部分:\(-4713.1.1\)至\(-1.12.31\)\(1.1.1\)至\(1582.10.4\)\(1582.10.5\)至\(1582.10.14\)\(1582.10.15\)至无穷大体可分为公元前(儒略历),公元后儒略历,公元后格里高利历。如果\(x\le1721424\),说明是公元前儒略......
  • 【真题研究】CSP-S2019
    [CSP-S2019]格雷码很简单的规律题。考虑决策每一位的\(0/1\),从高位往低位决策。将\(k\)可以看作当前的排名。第\(i\)位若\(2^{i-1}<k\),说明当前位为\(0\)。否则当前位为\(1\),并将排名更新为\(k=2^i-k-1\)然后继续决策即可。时间复杂度\(O(n)\),递归或循环实现都可......
  • 题解 P5326【[ZJOI2019] 开关】/ SS241023B【判断题】
    已经沦落为可以随便搬进模拟赛的模板题了。。。题目描述当前有\(n\)道判断题,初始全选的错。初始给出每道题的正确答案,设\(0\)表示错,\(1\)表示对。每道题有一个参数\(p_i\),每轮会以\(\frac{p_i}{\sum_{j=1}^{n}p_j}\)的概率选择第\(i\)道题并修改(flip)这道题的答......
  • 真题练习25-Excel电子表格-全国计算机等级考试一级计算机基础及MS Office应用考试【汪
    第25组请根据题目要求,完成下列操作:1.在考生文件夹下打开EXCEL.XLSX文件:(1)将sheet1工作表的A1:G1单元格合并为一个单元格,内容水平居中;计算“月平均值”行的内容(数值型,保留小数点后1位。利用AVERAGE函数。);计算“最高值”行的内容(三年中各月的最高值,利用MAX函数)。(2)选取“月份”......