Codeforces Round 959(Div. 1 + Div. 2) A~E

A.Diverse Game(构造)

题意:

佩特看了谢尔盖的数据流,得出了一个矩阵 a a a,由 n n n行和 m m m列组成(第 i i i行和第 j j j列中的数字表示为 a i , j a_{i,j} ai,j),其中包含了从 1 1 1 n ⋅ m n\cdot m nm的所有整数。但是他并不喜欢这样的数字排列,现在他想出一个新的矩阵 b b b,由 n n n行和 m m m列组成,同样包含从 1 1 1 n ⋅ m n\cdot m nm的所有整数,这样对于任意的 1 ≤ i ≤ n , 1 ≤ j ≤ m 1\leq i\leq n,1\leq j\leq m 1in,1jm来说, a i , j ≠ b i , j a_{i,j}\ne b_{i,j} ai,j=bi,j都成立。

给你一个矩阵 a a a,请构造出符合Petr要求的矩阵 b b b,或者确定这是不可能的。

分析:

题目要求构造一个大小为 n × m n\times m n×m且每个元素都与原排列不同的排列,直接让每个元素模 n × m n\times m n×m再加 1 1 1即可

代码:

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
int n, m;

void solve(){
   
    scanf("%d%d", &n, &m);
    if(n==1 and m==1){
   
        scanf("%*d");
        printf("-1\n");
        return;
    }
    for(int i = 1; i <= n; i++){
   
        for(int j = 1; j <= m; j++){
   
            int x;
            scanf("%d",&x);
            printf("%d%c", x % (n * m) + 1, " \n"[j == m]);
        }
    }
}
int main(){
   
    int t;
    scanf("%d",&t);
    while(t--)
        solve();
    return 0;
}

B.Fun Game(异或)

题意:

沃瓦非常喜欢异或运算(表示为 ⊕ \oplus )。最近,他在睡觉时想出了一个有趣的游戏。

游戏开始时,沃瓦选择长度为 n n n的两个二进制数列 s s s t t t并把它们交给凡亚。二进制序列是仅由数字 0 0 0 1 1 1组成的序列。凡亚可以选择整数 l , r l,r l,r这样的 1 ≤ l ≤ r ≤ n 1\leq l\leq r\leq n 1lrn,并同时将所有 l ≤ i ≤ r l\leq i\leq r lir中的 s i s_i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值