做CSP-J 2020 第一轮产生的一些笔记。

在线

在线做题(洛谷)

第三题

$\lor$=或
$\land$=且

第四题

现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )

2048102432=67108864(bit)
67108864bit=(67108864/8)字节=8388608字节
8388608字节=(8388608/1024)KB=8192KB
8192KB=(8192/1024)MB=8MB

第八题

 title=

第九题

按权展开:

$$(1011)\_2=1\times(2^3)+0\times(2^2)+1\times(2^1)+1=8+2+1=11$$

第十二题

 title=

阅读程序-1

Z是不会动的。


哈哈哈又写题解了!CF链接

A YES or YES?

英文题面

看这里

解释

输入N个字符串,不管大小写,判断是否为“yes”

思路

挨个字母判断是否大写,如果大写就转换成小写,最后判断是否为“yes”。

那怎么判断是否为“yes”呢?直接==可以吗?似乎不行(我用的char x[4]),所以我们用最原始的方法:x[0] == 'y' && x[1] == 'e' && x[2] == 's',过了!

代码

#include
using namespace std;
int main() {
int n, v;
char x[4];
cin >> n;
while (n--) {
cin >> x;
for (v = 0; v < 3; v++) {
if (x[v] >= 65 && x[v] <= 90) {
x[v] = char((int)x[v] - ('Z' - 'z'));
}
}
if (x[0] == 'y' && x[1] == 'e' && x[2] == 's') {
cout << "YES\n";
} else {
cout << "NO\n";
}
}
return 0;
}

B ICPC Balloons

英文题面

Here

解释

有26道题目,分别叫A,B,C...Z,每个题目第一个解出来的队伍得2个气球,其他解出来的给1个气球。输入如ABA这样的解出顺序,求一共给出多少气球。

思路

开个打勾用的BOOL数组,A题索引为1,B题索引为2...在TestCase里依次For,如果题目在BOOL数组中为True(解出过),Count+1;如果题目在BOOL数组中为False(没解出过),Count+2并在BOOL数组中设为True。

注意一个TestCase完了之后,要把BOOL数组全设为False!(代码中memset(xx, 0, 50 * sizeof(bool));,50是BOOL数组的长度。

代码

#include
#include
using namespace std;
int main(){
bool xx[50];
string x;
int n,nn,now,c;
cin >> n;
while(n--){
cin >> nn >> x;
memset(xx, 0, 50 \* sizeof(bool));
c=0;
for (int i=0;iC Cypher

这个题目名是加密的意思。

### 英文题面

[点我](https://codeforces.com/contest/1703/problem/C)

### 解释

有个密码锁,有N位,告诉你现在的样子和操作(U表示+1,D表示-1),求出原来的样子。比如样例的第一个:

3
9 3 1
3 DDD
4 UDUU
2 DU


你要把第一位(9)执行DDD,也就是反过来,UUU,那是2((9+1+1+1)%10);  
第二位(3)执行UDUU,也就是DUDD,是1((3-1+1-1-1)%10)  
第三位(1)执行DU,也就是UD,是1((1+1-1)%10)  
输出(2 1 1)。

### 代码

include

using namespace std;
int main() {
string moves;
int n, x, wheels[100], m;
cin >> n;
while (n--) {
cin >> x;
for (int i = 0; i < x; i++) cin >> wheels[i];
for (int z = 0; z < x; z++) {
cin >> m >> moves;
for (int i = 0; i < m; i++) {
if (moves[i] == 'U') {
if (wheels[z] == 0) {
wheels[z] = 9;
} else {
wheels[z]--;
}
} else {
if (wheels[z] == 9) {
wheels[z] = 0;
} else {
wheels[z]++;
}
}
}
}
for (int i = 0; i < x; i++) cout << wheels[i] << " ";
cout << endl;
}
return 0;
}


## D Double Strings

### 英文题面

[哈哈](https://codeforces.com/contest/1703/problem/D)

### 解释

就是给N个字符串,检查每个字符串,如果可以被其他两个(不一定不同)的字符串拼接,输出1,否则0.

### 思路

emm...只要看每个字符串的(0~1)位、(2~末尾)位或(0~2)位、(3~末尾)位...(0~末尾-2)位、(末尾-1~末尾)位是否在输入中就可以了。那怎么判断?打擂台肯定超时(要10的25次方次***吗?***【我也不确定】),可以开一个`map<string,bool> mp`来解决,只要判断`mp["aaa"]`就好了,存的话只要`mp["aaa"]=true`,很方便!

### 代码

include

include

using namespace std;
void slove() {
int x;
bool ok;
map mp;
cin >> x;
string z[x], n, a, b;
for (int i = 0; i < x; i++) {
cin >> z[i];
mp[z[i]] = true;
}
for (int i = 0; i < x; i++) {
n = z[i];
ok = false;
for (int q = 1; q < n.length(); q++) {
a = n.substr(0, q);
b = n.substr(q, n.length() - q);
if (mp[a] && mp[b]) {
ok = true;
break;
}
}
cout << ok;
}
cout << endl;
}
int main() {
ios::sync\_with\_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
while (n--) {
slove();
}
return 0;
}


(这是这篇文章里第一次、也是唯一一次使用`slove`函数)

## E Mirror Grid

从这里开始,我就没解出来。

### 英文题面

[嘻嘻](https://codeforces.com/contest/1703/problem/E)

### 解释

最后一天,早起觉得着凉好了!就去吃简陋的早饭,只有牛奶、稀饭和馒头以及鸡蛋(哭),顺手拍了张不错的照片:

 title=

吃完之后去翻山越岭爬梯田,梯田上全是水稻!几次差点掉下去~ 不过风景还不错!

 title=

妈妈的一个同学带着儿子玩水,结果鞋子漂走了,追鞋中...(最后追到了::(滑稽))

完了之后吃了碗羊肉粉就启程去机场了:

 title=
味道不错,::(真棒)。

在UTC时间14:05(UTC+8:00 22:05),我们的飞机降落在南京禄口机场,旅途结束~

print('Bye, 贵州!')

(无聊预警)

上午,起床早饭吃了一半就想吐(可能晚上着凉吧),一会儿在卫生间吐了好多...

上午:坐车

中午:吃饭(不舒服,一点没吃)

下午:坐车...

晚上入住了苗寨,吃了点糍粑(图1)和长毛(长)的毛豆腐(图2),好可怕!!不过很好吃,就当晚饭吃了~ 吃了点药好了,神奇!

 title= title=

话说苗寨晚上风景很不错:

 title=

(史上最短博客)上最短博客)


又到了写日记的时间了。今天太有趣了~

今天早上吃完早饭之后,我们就去了小七孔景区。我们先坐车到卧龙潭公园,那里早晨下雨组成的雾气弥漫在湖面上,如同一个面纱笼罩着。导游说这种景观十分难得,一年只有一两次,我们真幸运!

 title=

参观完毕之后我们就去漂流了。这漂流十分有趣,50元一人,划了有一个多小时。我们先把行李🧳寄存了,然后穿上救生衣,4人一艇,开划!

漂流中有3处较陡的下坡,会把水溅到艇和身上,穿雨衣也一样没用。一定要拉着绳子到滑道上,我眼镜被绳子撸到了,掉进了水里,幸好我把它捞上来了,不然它就无了!!

然后我们换衣服,到鸳鸯湖划船🚣‍♀️,这里景色也不错。虽然说是“水上迷宫”,但是其实有提示::(勉强),不过还是费劲力气才划回来。

 title=

完了之后,我们去翠谷景区(景色很不错)打了一下水仗,参观了个十分壮观的翠谷瀑布就离开了。视频

下面我们参观了水上森林,原来其实就是树长在河中而已。

还有个“拉雅瀑布”,挺高的,视频
六十八阶叠水瀑布”我数了一下,只有三十几阶,可能我的计数方法不对吧,不管了!不过其实景色真的很美!

最后我们来到小七孔古桥(压轴的吧),也还不错,以前是跟广西省的交通要道呢!

 title=

明天我们就要去广西苗寨了,期待::(滑稽)!

PS:昨天天眼的照片出来了,我闭眼了。QAQ::(笑尿)!