new file: P17538.cpp
This commit is contained in:
1 parent
583e98bd69
commit
2b5e1ffdab
3 files changed
+105
No files matched your search
@@ -5,4 +5,5 @@
|
||||
!solutions
|
||||
!solutions/*.md
|
||||
!clean.sh
|
||||
!*.md
|
||||
tmp.md
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
int t;
|
||||
int n; // 2000
|
||||
int main() {
|
||||
scanf("%d", &t);
|
||||
while (t--) {
|
||||
scanf("%d", &n);
|
||||
for (int i = 1; i <= n; ++i) {
|
||||
for (int j = 1; j <= n; ++j) {
|
||||
if (i == j) {
|
||||
printf("%d ", i);
|
||||
} else if (i % j == 0) {
|
||||
printf("%d ", j);
|
||||
} else if (j % i == 0) {
|
||||
printf("%d ", i);
|
||||
} else {
|
||||
printf("1 ");
|
||||
}
|
||||
}
|
||||
putchar('\n');
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
# P17538 音符方阵
|
||||
|
||||
## 题目背景
|
||||
|
||||
『你会忘记我吗?』
|
||||
|
||||
你突然这样问我,我不知道应该怎么回答。
|
||||
|
||||
我的记忆是有限的,至于一生都不会忘记的部分只有一个 $n \times n$ 的方阵,奢求能够把和你度过的所有时光全部镌刻其中显然是不可能了。但是我们一起合奏过的音符构成了若干音阶。如果能够记住这些音符,也许就能记住永远向往着自由,永远绽放着的你了。你的演奏实在是太特别,我绝对不可能记错的。
|
||||
|
||||
『不会忘记,即使是死也不会的。』
|
||||
|
||||
## 题目描述
|
||||
|
||||
给定一个 $n$,构造一个 $n\times n$ 的矩阵 $a_{nn}$ 满足:
|
||||
|
||||
- 对于矩阵中的所有元素 $a_{ij}$,满足 $1\le a_{ij}\le n$ 且为整数。
|
||||
- 对于每个 $1$ 到 $n$ 的整数 $i$:
|
||||
- **存在且仅存在**一行,使得这一行上所有 $i$ 的倍数列位置上出现的数都是 $i$;
|
||||
- **存在且仅存在**一列,使得这一列上所有 $i$ 的倍数行位置上出现的数都是 $i$。
|
||||
|
||||
可以证明,至少存在一种符合要求的构造。如果有多种构造,你可以输出任意一种。
|
||||
|
||||
## 输入格式
|
||||
|
||||
**本题包含多组测试。**
|
||||
|
||||
对于每组数据,第一行一个整数 $T$,表示测试数据组数。
|
||||
|
||||
对于每组测试数据,输入一行一个整数 $n$,表示你要构造的方阵大小。
|
||||
|
||||
## 输出格式
|
||||
|
||||
对于每组数据,输出 $n$ 行,每行 $n$ 个用空格隔开的整数,表示你构造的方阵。
|
||||
|
||||
## 输入输出样例 #1
|
||||
|
||||
### 输入 #1
|
||||
|
||||
```
|
||||
2
|
||||
4
|
||||
1
|
||||
```
|
||||
|
||||
### 输出 #1
|
||||
|
||||
```
|
||||
1 1 1 1
|
||||
1 2 1 4
|
||||
1 2 3 2
|
||||
1 2 4 3
|
||||
1
|
||||
```
|
||||
|
||||
## 说明/提示
|
||||
|
||||
### 样例 #1 解释
|
||||
|
||||
对于第一组数据:
|
||||
|
||||
- $1$ 满足要求。因为第一行上所有 $1$ 的倍数列位置($(1,1),(1,2),(1,3),(1,4)$)上均为 $1$,第一列上所有 $1$ 的倍数行位置($(1,1),(2,1),(3,1),(4,1)$)上均为 $1$,并且没有其他行和列满足对应的要求。
|
||||
- $2$ 满足要求。因为第三行上所有 $2$ 的倍数列位置($(3,2),(3,4)$)上均为 $2$,第二列上所有 $2$ 的倍数行位置($(2,2),(4,2)$)上均为 $2$,并且没有其他行和列满足对应的要求。
|
||||
- $3$ 满足要求。因为第三行上所有 $3$ 的倍数列位置($(3,3)$)上均为 $3$,第三列上所有 $3$ 的倍数行位置($(3,3)$)上均为 $3$,并且没有其他行和列满足对应的要求。
|
||||
- $4$ 满足要求。因为第二行上所有 $4$ 的倍数列位置($(2,4)$)上均为 $4$,第三列上所有 $4$ 的倍数行位置($(4,3)$)上均为 $4$,并且没有其他行和列满足对应的要求。
|
||||
|
||||
所以这是一种符合要求的矩阵。
|
||||
|
||||
### 数据范围
|
||||
|
||||
**本题开启捆绑测试。**
|
||||
|
||||
对于 $100\%$ 的数据,$1\le T\le 100$,$1\le \sum n\le 2000$。
|
||||
|
||||
| 子任务 | $\sum n\le$ | 得分 |
|
||||
|:-:|:-:|:-:|
|
||||
| 1 | $8$ | $25$ |
|
||||
| 2 | $20$ | $25$ |
|
||||
| 3 | $2000$ | $50$ |
|
||||
Reference in new issue
Block a user