首页 > 其他分享 >Educational Codeforces Round 141:B. Matrix of Differences

Educational Codeforces Round 141:B. Matrix of Differences

时间:2023-02-05 16:37:30浏览次数:49  
标签:Educational Matrix 141 int Codeforces num 差值 序列

一、来源:Problem - B - Codeforces

二、题面

image-20230129132127881

三、思路

  1. 我们先从一维思考如何构造尽可能多的数值差。以n=2为例,此时有1,2,3,4数,其中构成差值为3的方案有一个1,4,构成差值为2的方案有两个1,3/2,4,同理构成差值为1的方案有三个1,2/2,3/3,4.

  2. 由此可见我们应该先构造较大的数,故可得序列1,4,2,3,2,3,1,4。观察第一个序列我们可以发现其规律在于后\(n^2/2\)项逆序插入,将该规则扩展到更大的n依然适用

  3. 由于side-adjacent elements既可以是上下,也可以是左右,我们可以通过原序列构建矩阵

    1(→) 4(↓)
    2 2(←)

四、代码

#include <bits/stdc++.h>

typedef long long ll;

using namespace std;

const int N=55;
int mp[N][N];

int main(){
    int n;
    cin >> n;
    while(n--){
        int m;
        cin >> m;
        int num=1;
        for(int i=1;i<=m;i++){
            if(i%2==1){
                for(int j=1;j<=m;j++){
                    mp[i][j]=num%2==1?(num+1)/2:(m*m-(num-1)/2);
                    num++;
                }
            }else{
                for(int j=m;j>=1;j--){
                    mp[i][j]=num%2==1?(num+1)/2:(m*m-(num-1)/2);
                    num++;
                }
            }
        }
        for(int i=1;i<=m;i++){
            for(int j=1;j<=m;j++){
                printf("%d%c",mp[i][j],j!=m?' ':'\n');
            }
        }
    }
    return 0;
}

标签:Educational,Matrix,141,int,Codeforces,num,差值,序列
From: https://www.cnblogs.com/Arno-vc/p/17093526.html

相关文章

  • Educational Codeforces Round 141:C. Yet Another Tournament
    一、来源:Problem-C-Codeforces二、题面三、思路读题:其他人的胜场由位次决定,对于第i位,其胜场为i-1人数为\(5·10^5\),不是5(看错了)每个人和自己比较时,可能......
  • matrix-tree 的一个推论
    本文作者的线性代数水平还很低,如果有什么更简单的方法请告诉TA。结论:对于一张无向图\(G\),设其Laplace矩阵为\(A\),而\(A\)的特征值分别为\(\lambda_1,\lambda_2,\l......
  • Educational Codeforces Round 142 (Rated for Div. 2)(C,D)
    EducationalCodeforcesRound142(RatedforDiv.2)(C,D)CC这道题的大意是题目大意是给你一个任意的排序,我们要把这个排序通过任意个操作变成一个有序的排序操作是,选择......
  • 「 每日一练,快乐水题 」141. 环形链表
    文章目录​​......
  • Codeforces 1316 D. Nash Matrix(dfs)
    题意:给出一个的棋盘和每个棋盘位置最后能走到的位置,如果一直走不停下来就是,可以停下来就是走到的最后位置,让你输出每个位置的操作字符,上下左右和,停在此位置。我们先找......
  • Educational Codeforces Round 75 D. Salary Changing(二分)
    题意就是:给n个人发工资,总钱数为s。每个人有一个工资范围。要求一个发工资方案,使得工资中位数最大,求这个中位数。考虑到中位数最大,于是我们可以二分。但是每个人的工资......
  • Educational Codeforces Round 75 C Minimize The Integer
    这道题的意思就是给出一个由数字组成的字符串,相邻的数字可以互换位置,但是如果相邻的为同奇同偶这样就不能交换。让我们求交换任意次数可以产生的最小数。这条限制就是说......
  • [LeetCode]Spiral Matrix
    QuestionGivenamatrixofmxnelements(mrows,ncolumns),returnallelementsofthematrixinspiralorder.Forexample,Giventhefollowingmatrix:[[1......
  • vulnhub_matrix-breakout-2-morpheus
    前言靶机地址:matrix-breakout-2-morpheus攻击机:kali2022.3靶机:matrix-breakout-2-morpheus题目描述:这是《黑客帝国突围》系列的第二部,副标题为墨菲斯:1。它的主题是对......
  • Educational Codeforces Round 135 (Rated for Div. 2) F. Fishermen 二分图最小带权
    不用真的建图,真的建图两人之间的代价不好算。等价转化为对给定的ai找出bi,使得bi=k*a[i],且互不相同k的上界为n,简易证明:[若a[i]互不相等,全部选a[i]*n会比a[i]*(n+1)更好;......