1005 怪物猎人
如果全用 x 和 全用 y 攻击的轮次不同那么奇偶轮次都可以击败怪物;否则只有奇数轮次或者偶数轮次能够击败怪物。
#include <bits/stdc++.h>
using namespace std;
#define int long long
inline int read() {
int x = 0, f = 1; char c = getchar();
while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }
while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}
signed main() {
int t = read();
while (t--) {
int k = read(), x = read(), y = read();
int r1 = (k + x - 1) / x, r2 = (k + y - 1) / y;
if (r1 != r2) printf("Yes\nYes\n");
else if (r1 & 1) printf("Yes\nNo\n");
else printf("No\nYes\n");
}
return 0;
}
1007 小猫钓鱼
如果两个人手里拿着的都是完整的对子,那么是 sha7dow 赢;否则就是 shuishui 赢。
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int a[N], b[N], vis[N];
inline int read() {
int x = 0, f = 1; char c = getchar();
while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }
while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}
int main() {
int t = read();
while (t--) {
int n = read(), flag = 0;
for (int i = 1; i <= n; i++) vis[i] = 0;
for (int i = 1; i <= n; i++) {
a[i] = read();
if (vis[a[i]]) flag++;
vis[a[i]] = 1;
}
for (int i = 1; i <= n; i++) {
b[i] = read();
}
if (!flag) puts("sha7dow");
else puts("shuishui");
}
return 0;
}