A-小月的奇偶灯控_牛客周赛 Round 155

题意

小月为展厅安装了三个彼此独立的开关,它们的开关状态用三个整数 x1,x2,x3 表示,第 iii 个开关的状态为 xi,000 表示关闭,111 表示开启。
控制器会统计开启开关的数量。若开启开关的数量为奇数,指示灯点亮;否则指示灯熄灭。请输出指示灯的状态。

思路

显然我们只需要统计1的数量

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define endl "\n"
#define int long long
#define ld long double
const int mod1 = 1e9 + 7;
const int mod2 = 998244353;
const double PI = acos(-1.0),eps=1e-12L;
const long long inf=1e18+10;
void solve(){
int ans=0;
for (int i=0;i<3;i++){
int x;
cin>>x;
ans+=x;
}
if (ans%2) cout<<"ON"<<endl;
else cout<<"OFF"<<endl;
}
signed main(){
IOS;
int T=1;
//cin>>T;
while (T--) solve();
return 0;
}

B-小月的立方体_牛客周赛 Round 155

题意

给定一个边长为 a的格点立方体。相邻格点之间的距离为 1。格点的坐标表示为 (x,y,z)0≤x,y,z≤a),其中 x,y,z均为整数。每条棱上恰有 a+1个格点,坐标为 (x,y,z) 的格点上写有整数 vx,y,z。

请计算这个立方体的四条体对角线上的数字之和。若一个格点位于多条体对角线线上,则按所在体对角线线的条数重复计入。

思路

相当于一个由(a+1)*(a+1)个方格组成的立方体,我们需要观察体对角线的方格有什么特点;

想象分成n+1层,每个层由四个方格(如果交与同一个方格,也需要加4遍),这四个方格的坐标规律也可以很好的总结出来,分别为:(i,i,i),(i,a+2-i,i),(i,i,a+2-i),(i,a+2-i,a+2-i);

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define endl "\n"
#define int long long
#define ld long double
const int mod1 = 1e9 + 7;
const int mod2 = 998244353;
const double PI = acos(-1.0),eps=1e-12L;
const long long inf=1e18+10;
void solve(){
//为了省一点点内存,所以就不事先存一个数组了
int n;
cin>>n;
int ans=0;
for (int i=1;i<=n+1;i++){
for (int j=1;j<=n+1;j++){
for (int k=1;k<=n+1;k++){
int x;cin>>x;
if ((j==i || j==n+2-i ) && (k==i ||k==n+2-i)) {
if ((j==i && j==n+2-i ) && (k==i && k==n+2-i))ans+=4*x;
else ans+=x;
}
}
}
}
cout<<ans<<endl;
}
signed main(){
IOS;
int T=1;
//cin>>T;
while (T--) solve();
return 0;
}

C-小月的密码锁_牛客周赛 Round 155

题意

小月正在设置长为 n 的密码。密码中的每一位只会是 A、B、C、D、E 之一,且它们按 A→B→C→D→E→A的循环顺序排列。
初始密码为长度 n的字符串 s。密码的设置按如下顺序进行:

  • 选择一个分界位置 c(0≤c≤n),前 c 位密码用前模块处理,后 n−c 位密码用后模块处理;
  • 分别为前、后模块选择偏移量 p,q(0≤p,q≤4),对于前模块处理的字符沿循环方向移动 p 次,后模块处理的字符移动 q次。

经过上述流程后的密码变为 s,小月希望 s 与目标密码 t 尽可能相近。请你计算,在任选 c,p,q 的条件下,s 与 t最少有多少位不同。

思路

代码