取石子
两个小朋友玩取石子游戏。
第一个小朋友面前有 $n_1$ 个石子,第二个小朋友面前有 $n_2$ 个石子。
两人轮流取自己面前的石子。
第一个小朋友先手,第二个小朋友后手。
第一个小朋友每轮次最多取 $k_1$ 个石子,最少取 $1$ 个石子。
第二个小朋友每轮次最多取 $k_2$ 个石子,最少取 $1$ 个石子。
率先取完自己面前石子的小朋友,视为失败。
请问,两个小朋友都采取最优策略的情况下,谁会获胜?
输入格式
一行,四个整数 $n_1,n_2,k_1,k_2$。
输出格式
如果第一个小朋友获胜,则输出 First
,如果第二个小朋友获胜,则输出 Second
。
数据范围
所有测试点满足 $1 \le n_1,n_2,k_1,k_2 \le 50$。
输入样例1:
2 2 1 2
输出样例1:
Second
输入样例2:
2 1 1 1
输出样例2:
First
卡牌
有 $n$ 张卡牌,编号 $1 \sim n$。
每张卡牌的正面和背面都各有一个数字。
第 $i$ 张卡牌的正面数字为 $a_i$,背面数字为 $b_i$。
初始时,所有卡牌都正面朝上,显示正面的数字。
现在,你可以将其中一些卡牌翻面,使其显示背面的数字,要求:
- 至少有 $k$ 张卡牌保持正面朝上。
- 所有卡牌显示的数字之和尽可能小。
输出所有卡牌显示的数字之和的最小可能值。
输入格式
第一行包含两个整数 $n,k$。
第二行包含 $n$ 个整数 $a_1,a_2,…,a_n$。
第三行包含 $n$ 个整数 $b_1,b_2,…,b_n$。
输出格式
一个整数,表示所有卡牌显示的数字之和的最小可能值。
数据范围
前 $6$ 个测试点满足 $1 \le n \le 10$。
所有测试点满足 $1 \le n \le 2 \times 10^5$,$0 \le k \le n$,$1 \le a_i,b_i \le 10^4$。
输入样例1:
3 1
5 4 6
3 1 5
输出样例1:
10
输入样例2:
5 3
3 4 7 10 3
4 5 5 12 5
输出样例2:
25
查询字符串
给定 $n$ 个字符串 $f_1,f_2,…,f_n$。
这些字符串两两不同。
下面给定 $q$ 个询问。
其中,第 $i$ 次询问给定一个字符串 $s_i$,你的任务是:
- 计算 $f_1 \sim f_n$ 这 $n$ 个字符串中,包含 $s_i$ 作为子串的字符串的数量。
- 从 $f_1 \sim f_n$ 这 $n$ 个字符串中,任选一个包含 $s_i$ 作为子串的字符串输出。
输入格式
第一行包含整数 $n$。
接下来 $n$ 行,其中第 $i$ 行包含字符串 $f_i$。
再一行包含整数 $q$。
接下来 $q$ 行,其中第 $i$ 行包含字符串 $s_i$。
所有 $f_i$ 和 $s_i$ 都只包含小写字母、数字以及 .
。
输出格式
共 $q$ 行,其中第 $i$ 行输出第 $i$ 个询问的答案。
首先输出 $f_1 \sim f_n$ 这 $n$ 个字符串中包含 $s_i$ 作为子串的字符串的数量。
然后从 $f_1 \sim f_n$ 这 $n$ 个字符串中任选一个包含 $s_i$ 作为子串的字符串输出。
如果这样的字符串不唯一,则输出任意合理字符串均可,如果这样的字符串不存在,则输出 -
。
数据范围
前三个测试点满足 $1 \le n,q \le 20$。
所有测试点满足 $1 \le n \le 10000$,$1 \le q \le 50000$,$1 \le |f_i|,|s_i| \le 8$。
输入样例:
4
test
contests
test.
.test
6
ts
.
st.
.test
contes.
st
输出样例:
1 contests
2 .test
1 test.
1 .test
0 -
4 test.