D - Game on a Graph
基本信息
题解
连通图最少需要 条边,因此最多可以操作 次,输的人就是 。考虑到读入,复杂度 。
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | #include <bits/stdc++.h>
#define MAXK ((int) 1e5)
using namespace std;
int K, n, m;
char s[MAXK + 10];
void solve() {
scanf("%d%s%d%d", &K, s, &n, &m);
for (int i = 1; i <= m; i++) scanf("%*d%*d");
int delta = m - (n - 1);
char lose = s[delta % K];
if (lose == '1') printf("2\n");
else printf("1\n");
}
int main() {
int tcase; scanf("%d", &tcase);
while (tcase--) solve();
return 0;
}
|