Codeforces Round #678 (Div. 2)补题

简介: Codeforces Round #678 (Div. 2)补题

B. Prime Square


传送门

2db526edcf35c4aac0e2c536fabd44e.png题目大意:输出一个方阵,使方阵每行每列的和都是素数,同时方阵的组成不能是素数

解法

  1. 我原来的思路是素数筛,然后发现太麻烦,方阵中允许重复数字出现,我无法用代码实现
  2. 正确思路:方阵行列最小为2,找到两个数字a,b,是的a+b=素数,吧这两个数字放进数组中,然后对这个数组全排列输出。对此可以建立一个方阵,行列相同

1

2

3

4

2

3

4

1

3

4

1

2

4

1

2

3

代码如下:

import java.util.*;
public class B1 {
  public static void main(String args[])throws java.lang.Exception
  {
    Scanner sc  = new Scanner(System.in);
    int t = sc.nextInt();
    while(t-->0) {
      int  n = sc.nextInt();
      int arr []= new int[n];
      arr[0]=1;arr[1]=1;
      int count=0;
      for(int i=0;i<n;i++) {
        int j=i;
        count=0;
        while(count<n) {
          System.out.print(arr[j]+" ");
          j++;
          j=j%n;//保证下标不越界
          count++;
        }
        System.out.println();
      }
    }
  }
}
相关文章
|
3月前
Codeforces Round #729 (Div. 2)
【6月更文挑战第4天】在这两个编程问题中,B. Plus and Multiply 要求判断通过加法和乘法操作数组是否能形成目标数 `n`。思路是形如 `x^a + yb = n` 的表达式,如果满足则能构造。C. Strange Function 关注的是找到最小正整数 `x` 使得 `x` 不是 `i` 的因子,计算这些值的和模 `10^9+7`。对于每个 `i`,偶数时 `f(i)` 是 3,奇数时是 2,利用因子与最大公约数计算周期性求和。
24 1
|
11月前
|
人工智能 算法 BI
Codeforces Round #179 (Div. 2)A、B、C、D
我们每次加进来的点相当于k,首先需要进行一个双重循环找到k点和所有点之间的最短路径;然后就以k点位判断节点更新之前的k-1个点,时间复杂度降到O(n^3),而暴力解法每次都要进行floyd,时间复杂度为O(n^4);相比之下前述解法考虑到了floyd算法的性质,更好了运用了算法的内质。
49 0
|
11月前
Codeforces Round #186 (Div. 2)A、B、C、D、E
Ilya得到了一个礼物,可以在删掉银行账户最后和倒数第二位的数字(账户有可能是负的),也可以不做任何处理。
31 0
|
11月前
Codeforces Round #178 (Div. 2)
在n条电线上有不同数量的鸟, Shaass开了m枪,每一枪打的是第xi条电线上的第yi只鸟,然后被打中的这只鸟左边的飞到第i-1条电线上,右边的飞到i+1条电线上,没有落脚点的鸟会飞走。
41 0
Codeforces Round #742 (Div. 2)
Codeforces Round #742 (Div. 2)
38 0
|
机器学习/深度学习 Go
codeforces round 885 (div. 2)
codeforces round 885 (div. 2)
85 0
|
人工智能
Codeforces Round #786 (Div. 3)(A-D)
Codeforces Round #786 (Div. 3)(A-D)
63 0
|
人工智能 索引
Codeforces Round 806 (Div. 4)
Codeforces Round 806 (Div. 4)A~G
106 0
Codeforces Round 849 (Div. 4)
Codeforces Round 849 (Div. 4)A~G2题解
107 0