B3858 [语言月赛 202309] 悬线 题解
zhang_Jimmy · · 题解
思路
我们可以另外定义一个
如果
如果
代码如下:
#include <bits/stdc++.h>
using namespace std;
int t, n, m, a[210][210], f[210][210];
bool prime(int n){
if(n == 1) return 0;
if(n == 2) return 1;
for(int i = 2; i <= sqrt(n); i ++)
if(n % i == 0) return 0;
return 1;
}
int main(){
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
cin >> t;
while(t --){
memset(f, 0, sizeof f);
cin >> n >> m;
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= m; j ++){
cin >> a[i][j];
}
}
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= m; j ++){
if(prime(a[i][j]))
f[i][j] = f[i - 1][j] + 1;
else
f[i][j] = 0;
}
}
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= m; j ++){
cout << f[i][j] << " ";
}
cout << endl;
}
}
return 0;
}