题解:P11796 【MX-X9-T0】『GROI-R3』NaiLong
liuzhuoran141516 · · 题解
题解:P11796 【MX-X9-T0】『GROI-R3』NaiLong
题目传送门
解题思路
本题非常简单,我们只需要遍历每一条消息
- 如果表情包标号为
0 ,则表示该消息的发送者指向了下一条消息的发送者。如果下一条消息的发送者正好是第k 个人,则第k 个人被指向了。 - 如果表情包标号为
1 ,则表示该消息的发送者指向上一条消息的发送者。如果上一条消息的发送者正好是第k 个人,则第k 个人被指向了。 - 如果表情包标号为
2 ,则不进行任何操作,因为这种表情包不指向任何人。
在遍历过程中,如果发现第k 个人被指向了,则将标志变量f置为true,并跳出循环。最后根据f的值输出Yes或No即可。
Code
#include <iostream>
using namespace std;
int n, k, a[105];
int main() {
cin >> n >> k;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
bool found = false;
for (int i = 1; i <= n; ++i) {
int ai = a[i - 1];
if (ai == 0) {
if (i + 1 <= n && (i + 1) == k) {
found = true;
break;
}
} else if (ai == 1) {
if (i - 1 >= 1 && (i - 1) == k) {
found = true;
break;
}
}
}
cout << (found ? "Yes" : "No") << endl;
return 0;
}