Namomo Spring Camp 2022 Div2 Week1 每日一题
Posted 嗯我想想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Namomo Spring Camp 2022 Div2 Week1 每日一题相关的知识,希望对你有一定的参考价值。
2.26 特殊的正方形
做的时候没有多想,就是按照题目意思去模拟了一下。
我的AC代码:
#include <bits/stdc++.h>
using namespace std;
int n;
char c[110][110];
int main()
scanf("%d", &n);
int r = 0, co = 0;
while (1)
if (r & 1)
for (int i = co; i < n - co; i++)
c[co][i] = '.', c[n - co - 1][i] = '.';
for(int i = r; i < n - r; i++)
c[i][r] = '.', c[i][n - r - 1] = '.';
else
for (int i = co; i < n - co; i++)
c[co][i] = '+', c[n - co - 1][i] = '+';
for(int i = r; i < n - r; i++)
c[i][r] = '+', c[i][n - r - 1] = '+';
r++;
co++;
if(r == n / 2 + 1)
break;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
printf("%c",c[i][j]);
puts("");
return 0;
wls题解思路:
分析题意其实就是每个点,到四个边距离最小值的奇偶
实现思路代码:
#include <bits/stdc++.h>
using namespace std;
int n;
char cc[110][110];
int main()
scanf("%d", &n);
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
int a = i, b = n - i + 1, c = j, d = n - j + 1;
int p = min(a, min(b, min(c, d)));
if(p & 1)
cc[i][j] = '+';
else
cc[i][j] = '.';
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
printf("%c",cc[i][j]);
puts("");
return 0;
2.27 走楼梯2
呜呜呜,看了群友聊天和wls讲解思路才勉强AC,我是fw
二维dp,分析一下
f[i][j] 分几种情况进行处理,j = 0,1,2
i表示第几级台阶,j表示已经连续走过2级台阶的次数
记得要初始化
AC代码:
#include <bits/stdc++.h>
using namespace std;
int n;
long long f[60][5];
int main()
scanf("%d", &n);
f[0][0] = 1;
f[1][0] = 1;
for(int i = 2; i <= n; i++)
f[i][0] = f[i - 1][0] + f[i - 1][1] + f[i - 1][2];
f[i][1] = f[i - 2][0];
if(i >= 4)
f[i][2] = f[i - 4][0];
long long ans = f[n][0] + f[n][1] + f[n][2];
cout << ans << endl;
return 0;
以上是关于Namomo Spring Camp 2022 Div2 Week1 每日一题的主要内容,如果未能解决你的问题,请参考以下文章
Namomo Spring Camp 2022 Div1 XOR Inverse Codeforces Round #673 (Div. 1) C. XOR Inverse 按位贪心模拟/字典树分治
Namomo Spring Camp 2022 Div1 XOR Inverse Codeforces Round #673 (Div. 1) C. XOR Inverse 按位贪心模拟/字典树分治
Namomo Spring Camp 2022 Div1 XOR Inverse Codeforces Round #673 (Div. 1) C. XOR Inverse 按位贪心模拟/字典树分治