[语言月赛202305] 你的牌太多了 2

Luogu
IDLGB3767
Time1000ms
Memory512MB
DifficultyP3
2023O2优化函数与递归语言月赛
初始时,扶苏和小 F 手中各有 $n$ 张牌。每张牌有一个花色 $f$ 和一个点数 $p$。在本题中,花色是不超过 $m$ 的正整数,点数是不超过 $r$ 的正整数。 我们定义『一轮出牌』是指从某人开始出牌,双方轮流按规则打出手中的手牌,直到一方打不出符合要求的手牌结束。 在一轮出牌中,第一个出牌的人会打出**点数最小**的那张手牌。如果有多张手牌点数最小,则打出**点数最小且花色最小的那张手牌**。然后双方轮流出牌,规则是打出手中**花色与对方刚才打出的牌相同且点数大于对方的刚才打出的牌的点数中,点数最小的那张牌**。如果这样的牌不存在,那么本轮游戏结束,且下一轮由**对方**先出牌(即,本轮最后一手出牌的人下一轮先出)。 现在,给出双方的手牌和第一轮出牌的人,请你求出谁先打完手里的牌。 ## Input **本题单测试点内有多组测试数据**。 输入的第一行是一个整数,表示测试数据的组数 $T$。接下来依次给出每组数据的输入信息: 第一行是四个整数,表示一个人的手牌数 $n$,花色的上界 $m$ ,点数的上界 $r$ 和第一轮出牌的人 $s$。$s = 1$ 表示扶苏先出牌,$s = 2$ 表示小 F 先出牌。 第二行有 $n$ 个整数,第 $i$ 个整数表示扶苏第 $i$ 张牌的花色 $f1_i$。 第三行有 $n$ 个整数,第 $i$ 个整数表示扶苏第 $i$ 张牌的点数 $p1_i$。 第四行有 $n$ 个整数,第 $i$ 个整数表示小 F 第 $i$ 张牌的花色 $f2_i$。 第五行有 $n$ 个整数,第 $i$ 个整数表示小 F 第 $i$ 张牌的点数 $p2_i$。 ## Output 对每组数据,输出一行一个字符串。如果扶苏先打完手里的牌,请输出 `FS wins!`;如果小 F 先打完手里的牌,请输出 `FR wins!`。 [samples] ## Background 相信你对笨蛋扶苏和坏蛋小 F 打牌的[故事](https://www.luogu.com.cn/problem/B3745)记忆犹新。这次,她们又在打一种很新的牌。 ## Note ## 数据规模与约定 - 对于 $10\%$ 的数据,$r = 1$; - 对于 $20\%$ 的数据,$n = 1$; - 对于 $50\%$ 的数据,$m = 1$; - 对于 $100\%$ 的数据,$1 \leq T \leq 10$,$1 \leq n,m,r \leq 100$,$1 \leq s \leq 2$,$1 \leq f1_i, f2_i \leq m$,$1 \leq p1_i, p2_i \leq r$。
Samples
Input #1
1
3 1 2 1
1 1 1
1 2 1
1 1 1
2 2 1
Output #1
FS wins!
Input #2
1
3 1 2 2
1 1 1
1 2 1
1 1 1
2 2 1
Output #2
FR wins!
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛202305] 你的牌太多了 2",
    "description": {
      "content": "初始时,扶苏和小 F 手中各有 $n$ 张牌。每张牌有一个花色 $f$ 和一个点数 $p$。在本题中,花色是不超过 $m$ 的正整数,点数是不超过 $r$ 的正整数。 我们定义『一轮出牌』是指从某人开始出牌,双方轮流按规则打出手中的手牌,直到一方打不出符合要求的手牌结束。 在一轮出牌中,第一个出牌的人会打出**点数最小**的那张手牌。如果有多张手牌点数最小,则打出**点数最小且花色最小的那张手",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3767"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "初始时,扶苏和小 F 手中各有 $n$ 张牌。每张牌有一个花色 $f$ 和一个点数 $p$。在本题中,花色是不超过 $m$ 的正整数,点数是不超过 $r$ 的正整数。\n\n我们定义『一轮出牌』是指从某人开始出牌,双方轮流按规则打出手中的手牌,直到一方打不出符合要求的手牌结束。\n\n在一轮出牌中,第一个出牌的人会打出**点数最小**的那张手牌。如果有多张手牌点数最小,则打出**点数最小且花色最小的那张手...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments