签到题

题目描述
本题没有任何输入,请你输出
NUC2020!!!
NUC2020!!!
NUC2020!!!
输入描述:

输出描述:
NUC2020!!!
NUC2020!!!
NUC2020!!!

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("NUC2020!!!\n");
    printf("NUC2020!!!\n");
    printf("NUC2020!!!\n");
}

链接:https://ac.nowcoder.com/acm/contest/5188/E
来源:牛客网

题目描述
已知A是一个n阶方阵,且A^k=0,E是一个n阶单位矩阵,求(E+A+A^2+……A^k-1)的逆

输入描述:
第一行输入两个正整数n,k,表示矩阵的阶数和幂。2<=n<=1000,k<=1e18

接下来n行,读入矩阵A,每个数为int类型整数
输出描述:
一个矩阵,表示(E+A+A^2+……A^k-1)的逆

示例1
输入
复制

3 4
1 2 3
1 -2 1
7 -26 1

输出
复制

0 -2 -3
-1 3 -1
-7 26 0

看了大佬的代码才知道这是可以看成是一个等比,利用等比数列求和并且化简,但要注意的是,题目求的是逆矩阵,我们知道一个矩阵乘以它的逆矩阵等于一个单位阵,所以可以根据这个公式最后化简得B=A-E其中A是求出的等比数列,B是A的逆矩阵,E是对应的单位矩阵,最后可以得出其实就是全体取负,对角线加一就行

#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 7;
int a[N][N];
int n, m;
int main()
{
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      scanf("%d", &a[i][j]);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      printf("%d%c", (i == j) - a[i][j],j==n?'\n':' ');
  return 0;
}